Hibernateツールをインストールし、Entityを自動生成する!(後編)

はじめに

O/RマッパでEntityを作成する場合、手書きで作成するのは、すごく大変です。

Entityファイルに大量にあるカラムの設定をしたり、複数プライマリーキーの設定をしたりなど、手作業でするには、ミスもし易いし、こんなところで時間を使いたくないと思ってしまいます。

今回は、Entityを自動生成する(リバースエンジニアリング)手順について説明したいと思います。

HibernateツールをSTSにインストールする手順については、前編を参考にして下さい。

コンソール構成の追加

  • STSを立ち上げ、Hibernateツールパースペクティブを開きます。その後、「新規>Hibernateコンソール構成」をクリックします。下記キャプチャで赤枠内クリックでも追加できます。
  • 赤枠内を入力もしくはチェックします。
  1. 名前:コンソール構成の名前を入力します。(なんでも構いません。)
  2. 型:注釈(jdk1.5+)をクリックし、Hibernateのバージョンを4.3とします。
  3. プロジェクト:参照ボタンからEntityの自動生成を行うプロジェクトを選択します。
  4. データベース接続:「[Hibernate configured connection]」を選択します。
  5. 構成ファイル:セットアップボタンからhibernate.cfg.xmlファイルを選択します。
  • 適用後、OKボタンをクリックします。
  • Hibernate4.3のツリーを辿っていくとDBに接続できたことが分かります。
今回接続したMySQLデータベースはテーブル名に大文字を使っても認識してくれますが、Postgresデータベースの場合テーブル名はすべて小文字でないとここでDB接続できませんのでご注意ください!

リバース・エンジニアリング・ファイルの作成

  • Springパースペクティブを開き、「新規>その他」をクリックします。

  • 「Hibernate>Hibernateリバース・エンジニアリング・ファイル」を選択し、次へをクリックします。

  • resourcesフォルダを指定し、hibernate.reveng.xmlとデフォルト表示されるので、次へをクリックします。
  • コンソール構成に先程のhibernate4.3を選択し、リフレッシュボタンをクリックします。その後、データベース・スキーマから自動生成したいテーブルを選択し、インクルードボタンをクリックします。そうすると、テーブル・フィルターにテーブルが追加されるので、完了をクリックします。
  • リバース・エンジニアリング・ファイルが作成されます。

Entityの自動生成

  • Hibernateツールパースペクティブを開きます。その後、「実行>Hibernateコードの生成>Hibernateコードの生成の構成」をクリックします。下記キャプチャで赤枠内クリックでも追加できます。
  • 赤枠内の新規構成をクリックします。
  • 赤枠内を入力もしくはチェックします。
  1. ハンドリング名前:構成の名前を入力します。(なんでも構いません。)
  2. コンソール構成:コンソール構成で作成した構成を選択します。(ここではhibernate4.3)
  3. 出力ディレクトリ:参照ボタンからjavaファイルのルートパスを選択します。
  4. JDBC接続からリバース・エンジニアリング:チェックします。
  5. パッケージ:Entityを作成するパッケージを入力します。
  6. reveng.xml:セットアップボタンからhibernate.reveng.xmlファイルを選択します。
  • エクスポータータブで、赤枠内のチェックをチェックします。その後、適用ボタンをクリックし、実行ボタンをクリックします。
  • Entityが自動生成されます。

おわりに

無事、Entityを自動生成することができました。

テーブルの内容はGUIを使って変更し、Entityへの反映は自動生成で行えば、タイプミスも防げるし、大量に変更を行う場合などにかなり有効になってくると思います。

ただ、エラーメッセージの設定を行いたい場合は、Entityファイルを直接変更しないといけないです。気を付けないといけないのが、自動生成すると設定したエラーメッセージはすべて消えてしまいます。。

用途によって、自動生成と手動作成を使い分けるのがいいと思います。

最後までお読み頂きありがとうございました。

広告

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


ABOUT US
ぽむ
はじめまして! ぽむ と申します。 Java、Kotlin (Android)、VBAなどの開発経験があるITエンジニアです。 備忘録として始めたブログですがみなさまのお役に立てたら光栄です。 英語など IT 以外の話題にも触れていこうと思っています。 詳しい自己紹介についてはこちら! よろしくお願いします。