はじめに
O/RマッパでEntityを作成する場合、手書きで作成するのは、すごく大変です。
Entityファイルに大量にあるカラムの設定をしたり、複数プライマリーキーの設定をしたりなど、手作業でするには、ミスもし易いし、こんなところで時間を使いたくないと思ってしまいます。
今回は、Entityを自動生成する(リバースエンジニアリング)手順について説明したいと思います。
HibernateツールをSTSにインストールする手順については、前編を参考にして下さい。
コンソール構成の追加
- STSを立ち上げ、Hibernateツールパースペクティブを開きます。その後、「新規>Hibernateコンソール構成」をクリックします。下記キャプチャで赤枠内クリックでも追加できます。
- 赤枠内を入力もしくはチェックします。
- 名前:コンソール構成の名前を入力します。(なんでも構いません。)
- 型:注釈(jdk1.5+)をクリックし、Hibernateのバージョンを4.3とします。
- プロジェクト:参照ボタンからEntityの自動生成を行うプロジェクトを選択します。
- データベース接続:「[Hibernate configured connection]」を選択します。
- 構成ファイル:セットアップボタンからhibernate.cfg.xmlファイルを選択します。
- 適用後、OKボタンをクリックします。
- Hibernate4.3のツリーを辿っていくとDBに接続できたことが分かります。
今回接続したMySQLデータベースはテーブル名に大文字を使っても認識してくれますが、Postgresデータベースの場合テーブル名はすべて小文字でないとここでDB接続できませんのでご注意ください!
リバース・エンジニアリング・ファイルの作成
-
Springパースペクティブを開き、「新規>その他」をクリックします。
-
「Hibernate>Hibernateリバース・エンジニアリング・ファイル」を選択し、次へをクリックします。
- resourcesフォルダを指定し、hibernate.reveng.xmlとデフォルト表示されるので、次へをクリックします。
- コンソール構成に先程のhibernate4.3を選択し、リフレッシュボタンをクリックします。その後、データベース・スキーマから自動生成したいテーブルを選択し、インクルードボタンをクリックします。そうすると、テーブル・フィルターにテーブルが追加されるので、完了をクリックします。
- リバース・エンジニアリング・ファイルが作成されます。
Entityの自動生成
- Hibernateツールパースペクティブを開きます。その後、「実行>Hibernateコードの生成>Hibernateコードの生成の構成」をクリックします。下記キャプチャで赤枠内クリックでも追加できます。
- 赤枠内の新規構成をクリックします。
- 赤枠内を入力もしくはチェックします。
- ハンドリング名前:構成の名前を入力します。(なんでも構いません。)
- コンソール構成:コンソール構成で作成した構成を選択します。(ここではhibernate4.3)
- 出力ディレクトリ:参照ボタンからjavaファイルのルートパスを選択します。
- JDBC接続からリバース・エンジニアリング:チェックします。
- パッケージ:Entityを作成するパッケージを入力します。
- reveng.xml:セットアップボタンからhibernate.reveng.xmlファイルを選択します。
- エクスポータータブで、赤枠内のチェックをチェックします。その後、適用ボタンをクリックし、実行ボタンをクリックします。
- Entityが自動生成されます。
おわりに
無事、Entityを自動生成することができました。
テーブルの内容はGUIを使って変更し、Entityへの反映は自動生成で行えば、タイプミスも防げるし、大量に変更を行う場合などにかなり有効になってくると思います。
ただ、エラーメッセージの設定を行いたい場合は、Entityファイルを直接変更しないといけないです。気を付けないといけないのが、自動生成すると設定したエラーメッセージはすべて消えてしまいます。。
用途によって、自動生成と手動作成を使い分けるのがいいと思います。
最後までお読み頂きありがとうございました。
コメントを残す