This is version . It is not the current version, and thus it cannot be edited.
[Back to current version]   [Restore this version]

Eclipse上のJPA Toolsを使ってエンティティクラスを自動生成する#

Data Sourceの設定が終わっていれば以下の手順でエンティティクラスを自動生成できます。
ですが、テーブルレイアウト変更などで再生成すると、手動で加えた変更が上書きで消されてしまいます。 これを防止するために、Webアプリケーションとは別に自動生成用のプロジェクトを作ってそこで生成することにします。

エンティティクラス生成用プロジェクトの作成#

Mavenプロジェクトの新規作成#

  1. File → New → Project をクリックする。
  2. Maven → Maven Project を選択する。
  1. Nextボタンを押す。

  1. Create a simple project(skip archetype selection)をチェックする。
  2. Nextボタンを押す。

  1. "Group Id"、"Artifact Id"、"Name"、"Description"にそれぞれ好きに記入する。(Artifact Idがプロジェクト名になる)
  2. Finishボタンを押す。

JPAプロジェクトの適用#

  1. 今作成したプロジェクトをProject Explorerで選択する。
  2. Project → Properties → Project Facets を選択する。
  1. Convert to faceted from...をクリックする。

  1. Project Facetの枠の中のJPAをチェックする。
  2. Further configuration available...をクリックする。

  1. Connectionにて自分が作成した接続先を選択する。
  2. Discover annotated classes automatically をチェックする。(生成後のアノテーションエラーを回避するため)
  3. OKボタンを押す。
  4. 戻った画面でApplyボタンを押す。
  5. 同じ画面でOKボタンを押す。

  1. ProjectのPropertyを開く。
  2. Java Compilerを選択する。
  1. Use compiler from execution environment・・・のチェックを外す。
  2. Compiler compliance levelを1.8に変更する。
  3. OKボタンを押す。
  4. もしもBuildを要求されたらYesボタンを押す。

JPA-APIライブラリをMavenで取得する#

  1. 作成したプロジェクトのpom.xmlファイルを開く(ダブルクリック)。
  2. DependenciesタブのAddボタンを押す。
  1. pom.xmlタブをクリックする。
  2. dependenciesタブの中に以下を追記し、pom.xmlファイルを保存する(CTRL+S)。
<dependency>
    <groupId>org.hibernate.javax.persistence</groupId>
    <artifactId>hibernate-jpa-2.1-api</artifactId>
    <scope>provided</scope>
    <version>1.0.0.Final</version>
</dependency>

  1. Project ExplorerのMaven Dependenciesにjarファイルが表示されればOK。

※上記はJPA2.1のものです。今後新しいバージョンが必要になったら読み替えて下さい。

JPA Toolsをクリックする#

generate-entities.png
  1. Project Explorerでプロジェクトを選択する。
  2. 右ボタンメニューで JPA Tools → Generate Entities from Tablesをクリックする。

エンティティクラスを自動生成する#

generate-entities-ouyput.png
  1. Packageに好きなパッケージ名を記入する。
  2. Use Console Configurationのチェックを外す。
  3. Hibernate Versionを4.3に換える。
  4. Database Connectionを自分が設定したものに変更する。
  5. Finishボタンを押す。

かなり注意#

Project ExplorerでNew → JPA Entities from Tablesを使わない方がいいようです。
これでもエンティティクラスは生成されるのですが、中に記述されているアノテーションが微妙に違っていて、私の環境では思うようにデータを取得できませんでした。
エンティティクラスに多少手を入れて使っていたので微妙なんですが、手を入れて使うと動かなくなるようでは困るのでJPA Toolsからやるようにしてます。 jpa-new-entity.png

添付ファイルの追加

ログイン済のユーザのみが添付ファイルをアップロード出来ます。

添付ファイル一覧

Kind Attachment Name Size Version Date Modified Author Change note
png
db-connect.png 26.5 kB 1 21-3-2016 21:09 ytp
png
db-connected.png 19.1 kB 1 21-3-2016 21:16 ytp
png
entity-generation-package.png 62.8 kB 1 21-3-2016 19:00 ytp
png
generate-entities-ouyput.png 50.2 kB 2 21-4-2016 01:35 ytp
png
generate-entities.png 115.2 kB 1 22-3-2016 00:40 ytp
png
jpa-api-maven1.png 38.8 kB 1 21-4-2016 01:21 ytp
png
jpa-api-maven2.png 13.5 kB 1 21-4-2016 01:22 ytp
png
jpa-facet1.png 62.4 kB 1 21-4-2016 01:22 ytp
png
jpa-facet2.png 98.9 kB 1 21-4-2016 01:22 ytp
png
jpa-facet3.png 73.2 kB 1 21-4-2016 01:22 ytp
png
jpa-facet4.png 102.4 kB 1 21-4-2016 01:22 ytp
png
jpa-facet5.png 155.2 kB 1 23-4-2016 00:17 ytp
png
jpa-new-entity-associations.pn... 40.9 kB 2 05-6-2016 00:11 ytp
png
jpa-new-entity-associations2.p... 54.1 kB 1 05-6-2016 00:11 ytp
png
jpa-new-entity-associations3.p... 61.9 kB 1 05-6-2016 00:11 ytp
png
jpa-new-entity-customize.png 61.9 kB 1 05-6-2016 00:12 ytp
png
jpa-new-entity-customize2.png 52.1 kB 1 05-6-2016 00:12 ytp
png
jpa-new-entity-select.png 50.0 kB 2 05-6-2016 00:13 ytp
png
jpa-new-entity-select2.png 50.4 kB 1 05-6-2016 00:11 ytp
png
jpa-new-entity.png 48.2 kB 1 04-6-2016 23:33 ytp
png
maven-new1.png 46.8 kB 1 21-4-2016 01:23 ytp
png
maven-new2.png 41.0 kB 1 21-4-2016 01:23 ytp
png
maven-new3.png 53.9 kB 1 21-4-2016 01:23 ytp
« This particular version was published on 21-4-2016 01:39 by ytp.