最近の更新

2016年12月22日木曜日

JPA2でカラムのTime型に登録する方法

【目的】
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.以下の様に実行される。




12.『PSqlEditでSQLを実行する方法』の手順で、テーブルを確認し以下の様になっていれば成功です。























以上です。

関連記事