JPA2でカラムにPostgresのSerialを定義します。
【手順】
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.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "JpaSample009")
public class JpaSample009 {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
public JpaSample009() {
}
public JpaSample009(Integer id, String name) {
this.id = id;
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "JpaSample009 [id=" + id + ", 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("JpaSample009");
insert(emf);
select(emf);
}
private static void insert(EntityManagerFactory emf) {
EntityManager em = emf.createEntityManager();
EntityTransaction et = em.getTransaction();
et.begin();
JpaSample009 record = new JpaSample009(null, "あああ");
em.persist(record);
et.commit();
em.close();
}
private static void select(EntityManagerFactory emf) {
EntityManager em = emf.createEntityManager();
JpaSample009 record = em.find(JpaSample009.class, 1);
System.out.println("SELECT結果:" + record);
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/2001/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="JpaSample009" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>JpaSample009</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 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。