EclipseLink-JPA/Dali の環境設定とEntityBean生成
MementoWeaver開発記(7)
前回まででDerby側のテーブル作成までを行ったので、今回はJPAのエンティティを作成する。
毎度のことではあるが、JPAを使った開発を行うためにEclipseプラグインを追加でインストールする。
導入したプラグインはDali(Dali JPA Tools)。
EclipseのWeb Tools Platforms(WTP)のサブプロジェクトのようなので、Pleiadesとかをインストールしていたら、最初から導入されているらしい。
Dali のインストール
自分の環境は導入されていない様子だったので、Help->Install New Softwareから導入。
導入したプラグイン
- Dali Java Persistence Tools - EclipseLink JPA Support
- Dali Java Persistence Tools - JPA Diagram Editor
- Dali Java Persistence Tools - JPA Support
あとからJPA with Eclipse Dali - Tutorialを見て必要なのかも、と思ったので、以下も追加導入している*1。
- EclipseLink Target Components
JavaプロジェクトをJPAプロジェクトに変換
Daliのインストール後、Dali Java Persistence Tools User GuideからConverting a Java Project to a JPA Projectに辿り、既存のJavaプロジェクトをJPAプロジェクトに変換する。
Javaパースペクティブからプロジェクトフォルダ(MementoWeaver)を選択して右クリックし、Configure->Convert to JPA Projectを実行すると、プロジェクトファセットの変更画面が出てくる。
ここでJavaが1.4とかになっていると怒られるので、1.7に上げてNext。
Platform、Connection、Driver辺りを適当に設定してFinish。
すると、src/META-INF/persistence.xmlが作成される。
DerbyテーブルからのEntityBean作成
いよいよEntityBeanを作成する。
プロジェクトフォルダ(MementoWeaver)を選択して右クリックし、JPA Tools->Generate Entities From Tablesを実行。
Generate Custom Entities画面が表示される。
スキーマ:MWを選択し、生成対象のテーブルを選択(今回は全選択)してNext。
Associationの設定画面が表示されるが今回はスキップ(TODO)。
Customize Defaults画面では主キーの自動生成方法の指定や出力先パッケージ名の指定などを行えるが、出力先パッケージのみとりあえず指定してみることにしてその他はスキップ。
Customize Individual Entities画面では、テーブル/カラム(Rの世界)からクラス/プロパティ(Oの世界)へのマッピングが示される。Rの世界での命名を_で連結している場合にはCamelCaseにしてくれている様子。
必要に応じて名称や型を修正してFinish。
とりあえず出来たらしい。
*1:本当に必要かどうかちゃんと検証するべきだったな...。