NetBeansとMavenでJPAプロジェクトの作成~エンティティ自動生成まで

さて来週日曜日、JJUG CCCがあります。

JPAの同時実行制御とロック」というテーマでお話しするのですが、それに先立って開発環境の作り方を説明したいと思います。

実は、このとき開発環境はEclipse+Mavenだったんですが、改めてやってみるとこまごまと面倒なところがありまして・・・(^^;)

NetBeans+Mavenでの説明にしたいと思います。

 

使用するのは、JDK 8+NetBeans 8.0です。

DBはMySQL 5.6、JPA実装はEclipseLink 2.5.2-M1です。

JDK 8のインストール方法は省略します。

 

NetBeans 8.0のインストールは簡単です。

https://netbeans.org/downloads/?pagelang=ja

で、プラットフォームは「OSに依存しないZIP」、ダウンロードバンドルは「すべて」を選択してZIPをダウンロードし、展開するだけです。

f:id:MasatoshiTada:20140511144953p:plain

 

展開後、netbeans/etcフォルダ内のnetbeans.confを編集して、

下記のようにnetbeans_jdkhomeにJDKのインストールフォルダを指定します。

f:id:MasatoshiTada:20140511144829p:plain

 

これが完了したら、NetBeansを起動します。

僕の場合はWindows 7の64bit版なので、netbeans64.exeから起動します。

f:id:MasatoshiTada:20140511145414p:plain

 

NetBeansが起動しました。

f:id:MasatoshiTada:20140511145716p:plain

 

 

これからJPAプロジェクトを作ります。

 

画面左側の「プロジェクト」内で右クリックし、「新規プロジェクト」を選択します。

カテゴリで「Maven」、プロジェクトで「Javaアプリケーション」を選択し、「次へ」をクリックします。

f:id:MasatoshiTada:20140511150001p:plain

 

プロジェクト名などを適当に入力し、「終了」をクリックします。

f:id:MasatoshiTada:20140511150123p:plain

 

プロジェクトが作成されました。

f:id:MasatoshiTada:20140511150222p:plain

 

さて、ここからJPAを使う準備をします。

Maven依存関係に、MySQLJDBCドライバーとEclipseLinkを追加します。

pom.xmlを下記のように編集します。

f:id:MasatoshiTada:20140511150827p:plain

 

編集してCtrl+Sなどで保存すると、各種JARが依存性に追加されます。

f:id:MasatoshiTada:20140511151036p:plain

 

 

さて、あとはJPAで使うエンティティクラスを自動生成します。

 

プロジェクトを右クリックして「新規」-「データベースからのエンティティ・クラス」を選択します。

データベース接続で「データベースの新規接続」を選択します。

f:id:MasatoshiTada:20140511151538p:plain

 

ドライバで「MySQL」を選択したら、ドライバ・ファイルにMySQLJDBCドライバJARファイルが表示されますので、「次へ」をクリックします。

f:id:MasatoshiTada:20140511151720p:plain

 

JDBCのもろもろの設定を入力したら、「接続のテスト」をクリックします。

「接続に成功しました」と表示されたら、正しく設定がされています。

その後、「次へ」をクリックします。

f:id:MasatoshiTada:20140511151959p:plain

 

スキーマの選択画面が出ますが、僕の環境の場合は、そのまま「次へ」をクリックします。

f:id:MasatoshiTada:20140511152219p:plain

 

最後に、この接続に名前を付けられますので、わかりやすい名前を付けておきましょう。そして「終了」をクリックします。

f:id:MasatoshiTada:20140511152411p:plain

 

さて、これでようやっと、エンティティの自動生成をするための準備が整いました。

データベース接続で、先ほど作った「MySQL_emp」を選択します。

そうすると、使用可能な表の一覧が出ますので、エンティティを作成したい表を選択して「追加」をクリックします。

今回はemp2という表1つだけを追加します。

追加が終わったら、「次」をクリックします。

f:id:MasatoshiTada:20140511152829p:plain

 

いろいろとオプションを選べますが、今回は「持続性ユニットの作成」のみにチェックを入れて「終了」をクリックします。

f:id:MasatoshiTada:20140511153054p:plain

 

そうすると、エンティティクラスとともに、src/main/resources/META-INFにpersistence.xmlJPAの設定ファイル)が作成されます。

f:id:MasatoshiTada:20140511153348p:plain

f:id:MasatoshiTada:20140511153400p:plain

 

以上で、JPAを使うための下準備は終了です。

 

 

JJUG CCCの内容や、Java EE 7研修の開発ではEclipseを使ったので、EclipseでのJPAプロジェクトの作成方法を書こうと何度も試したのですが、改めてやってみると結構めんどくさいです。

僕のやり方が悪いのかもしれませんが、MevenプロジェクトにするとJPAエンティティ自動生成ができないし、JPAプロジェクトで使うとMaven使えないし・・・。

 

研修もNetBeansでやろうかな。