最近の更新

2016年12月21日水曜日

JPA2でDDL文を出力する方法

【目的】
JPA2でDDL文の出力を行います。



【手順】
1.『Javaプロジェクトの作成方法』の手順で、Javaプロジェクトを作成。
2.『EclipseLink2.6.4をライブラリに設定する方法(Javaプロジェクト)』の手順で、プロジェクトにライブラリを追加。
3.『PostgreSQLのJDBC Driver(Version 9.1-902 JDBC 4)をライブラリに設定する方法』の手順で、JDBCドライバをライブラリに追加。
 ※バージョンはデータベースのバージョンに合わせる。
4.『Javaクラスファイルの作成方法』の手順で、『JpaSample003』というクラスを作成。
5.以下の様に入力。
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "JpaSample005")
public class JpaSample005 {
    @Id
    private int id;
    private String name;

    public JpaSample005() {
    }

    public JpaSample005(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
6.『Javaクラスファイルの作成方法』の手順で、『Main』というクラスを作成。
7.以下の様に入力。
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

public class Main {
    public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("JpaSample005");
        EntityManager em = emf.createEntityManager();
        EntityTransaction et = em.getTransaction();
        et.begin();
        JpaSample005 record = new JpaSample005(1, "あああ");
        em.persist(record);
        et.commit();
        em.close();
    }
}
8.『任意のファイルの作成方法』の手順で、『persistence.xml』というファイルを作成。
9.以下の様に入力。
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2005/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="JpaSample005" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>JpaSample005</class>
        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://172.16.20.94:5432/jpa2db" />
            <property name="javax.persistence.jdbc.user" value="jpa2" />
            <property name="javax.persistence.jdbc.password" value="jpa2" />

            <property name="eclipselink.logging.level.sql" value="FINE"/>
            <property name="eclipselink.logging.parameters" value="true"/>

            <property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
            <property name="eclipselink.application-location" value="DDL" />
            <property name="eclipselink.create-ddl-jdbc-file-name" value="create.sql" />
            <property name="eclipselink.drop-ddl-jdbc-file-name" value="drop.sql" />
            <property name="eclipselink.ddl-generation.output-mode" value="both" />
        </properties>
    </persistence-unit>
</persistence>
10.『Javaプロジェクトの実行方法』の手順で、『Main.java』を実行。
11.以下の様に実行後にDDLディレクトリにファイルが出力されれば成功です。


























以上です。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

関連記事