0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MySQL のテーブルから Spring の Model(Entity) を作成する(JPA Entities from Tables)

Last updated at Posted at 2021-01-29

MySQL のテーブル群をそのまま Spring の Entity に移したいというときがあると思います。
その際結構スタックしたので記事にしようと思います。

初投稿

2021/1/29

エディタ

Eclipse

プロジェクトを作る際

・JPA を DI してください
・SQL > MySQL Driver を DI してください(h2もした方がいいかも)

手順

  1. project を JPA project にコンバートする
  2. JPA Entities from Tables

Convert to JPA project

いきなり JPA Entities from Tables としても、JPA project の選択画面で選択肢がないままです。
(New から JPA を選べない場合は、project を作る際に JPA を選んでいないためです。プロジェクトを作り直してください。)
スクリーンショット (258).png

そこで、プロジェクトを右クリック、configure から Convert to JPA project.. を選択してください。
Project Facets : Java と JPA にチェックがついていることを確認してください。

Next > で進むと JPA Facet の画面に来ます。
スクリーンショット (263).png

JPA implementation の Type を Disable Library configuration にして進んでいる記事もあったのですが、次のことをすると Warning が出なくなります。

右の Manage Library から New → 適当な名前を付けます。

これにjarファイルを追加するのですが、これは
https://www.eclipse.org/eclipselink/releases/2.5.php
からダウンロードします。
jlib 内の eclipselink.jar
その jpa 内の jarファイルを全て追加してください。

続いて(作ったLibraryにチェックを入れて)Connection から Add connection → MySQL を選択します。
→ New Driver Difinition → System Version 5.1 の MySQL JDBC Driver を選択 → 上のタブから JAR List を選択
→ 既にある mysql-connector-java-5.1.0-bin.jar を削除(謎ですよね)→ https://dev.mysql.com/downloads/connector/j/5.1.html から mysql-connector-java-5.1.49.zip をダウンロード → 解凍 → mysql-connector-java-5.1.49.jar を選択。
→ properties で MySQL の名前やURL, user name, password を入力して ping が通ったら Finish

これで JPA Entities from Tables ができるようになっています。
スクリーンショット (265).png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?