JPA2でカラムのTime型に登録します。
【手順】
1.『Javaプロジェクトの作成方法』の手順で、Javaプロジェクトを作成。
2.『EclipseLink2.6.4をライブラリに設定する方法(Javaプロジェクト)』の手順で、プロジェクトにライブラリを追加。
3.『PostgreSQLのJDBC Driver(Version 9.1-902 JDBC 4)をライブラリに設定する方法』の手順で、JDBCドライバをライブラリに追加。
※バージョンはデータベースのバージョンに合わせる。
4.『Javaクラスファイルの作成方法』の手順で、『JpaSample003』というクラスを作成。
5.以下の様に入力。
import java.sql.Time;
import java.util.Calendar;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "JpaSample015")
public class JpaSample015 {
@Id
private int id;
@Column
private Time time;
@Temporal(TemporalType.TIME)
private java.util.Date utilDate;
@Temporal(TemporalType.TIME)
private Calendar calendar;
public JpaSample015() {
}
public JpaSample015(int id, Time time, java.util.Date utilDate, Calendar calendar) {
this.id = id;
this.time = time;
this.utilDate = utilDate;
this.calendar = calendar;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Time getTime() {
return time;
}
public void setTime(Time time) {
this.time = time;
}
@Override
public String toString() {
return "JpaSample015 [id=" + id + ", time=" + time + ", utilDate=" + utilDate + ", calendar=" + calendar + "]";
}
}
6.『Javaクラスファイルの作成方法』の手順で、『Main』というクラスを作成。7.以下の様に入力。
import java.sql.Time;
import java.util.Calendar;
import java.util.Date;
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("JpaSample015");
insert(emf);
select(emf);
}
private static void insert(EntityManagerFactory emf) {
EntityManager em = emf.createEntityManager();
EntityTransaction et = em.getTransaction();
et.begin();
JpaSample015 record = new JpaSample015(1,
new Time(System.currentTimeMillis()),
new Date(),
Calendar.getInstance());
em.persist(record);
et.commit();
em.close();
}
private static void select(EntityManagerFactory emf) {
EntityManager em = emf.createEntityManager();
JpaSample015 record = em.find(JpaSample015.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="JpaSample015" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>JpaSample015</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.以下の様に実行される。
以上です。




























