インストール
- EclipseLinkから、ファイル(EclipseLink 2.1.1 Installer Zip)をダウンロードする。
- 解凍する。
- 以下のライブラリにクラスパスを通す。
- jlib\eclipselink.jar
- jlib\jpa\eclipselink-jpa-modelgen_2.1.1.v20100817-r8050.jar
- jlib\jpa\javax.persistence_2.0.1.v201006031150.jar
(今回はJPA2.0を使いたいので、jlib\jpa\javax.persistence_1.0.0.jar などは不要)
- クラスパスルート\META-INF\persistence.xmlファイルを作成
(Webアプリなどを作成する場合、WEB-INFと同階層にMETA-INFフォルダを作ったりするが、それのことではない)1234567891011121314151617181920212223242526<?xml version="1.0" encoding="UTF-8"?><persistence version="1.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/persistencehttp://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"><persistence-unit name="名称"><provider>org.eclipse.persistence.jpa.PersistenceProvider</provider><properties><propertyname="javax.persistence.jdbc.driver"value="JDBCドライバクラス名"/><propertyname="javax.persistence.jdbc.url"value="接続文字列"/><propertyname="javax.persistence.jdbc.user"value="ユーザ名"/><propertyname="javax.persistence.jdbc.password"value="パスワード"/></properties></persistence-unit></persistence>
エンティティ作成
Eclipse(というかpreiades)を使用している場合、右クリック→「JPAツール」→「テーブルからエンティティーを生成」などとすればアノテーション等の設定されたエンティティクラスが出来上がり、上記persistence.xmlにも設定が追記される。テーブルの関連付けとかも簡単にできてしまうのでおすすめ。
手動でやる場合は以下の通り。
- エンティティクラスを作成する。
- クラス宣言部にアノテーション追加
1234@Entity@Table(name = "テーブル名")public class Hoge {… - フィールド(もしくはgetterメソッド)にアノテーション追加。以下は一例
1234567891011121314151617// キー列、ユニーク、null不可、DBの列名は「hoge_id」@Id@Column(name="hoge_id", unique=true, nullable=false)private int hogeId;// null不可、文字列長1000、DBのカラム名は「hogename」// DBと列名に差が無い場合はname不要@Column(nullable=false, length=1000)private String hogename;// 親テーブル情報// 更新不可(insertable=false, updatable=false)が無いとエラー@ManyToOne@JoinColumn(name="parent_id", nullable=false,insertable=false, updatable=false)private ParentTbl parentTbl;…
- クラス宣言部にアノテーション追加
- persistence.xml に設定を追記。
123456<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider><class>エンティティクラス名1</class><class>エンティティクラス名2</class>…