2008年3月17日月曜日

DBスキーマからのコード自動生成 (HibernateToolsプラグインの利用)

HibernateToolsを利用することでDBスキーマからドメインクラスを自動生成することができます。

hiberante.cfg.xmlファイルとConsole設定ファイルの作成


初 めにConfiguration Wizardを利用してhibernate.cfg.xmlファイルを作成します。
EclipseでTomcatプロジェクトを作成した後、WEB-INF/libディレクトリにPostgreSQLドライバをインポートしておきます。

Package Explorerでプロジェクトを右クリックし、「New」→「Other」→「Hibernate」→「Hiberante Configuration File (cfg.xml)」を選択します。

「Create Hiberante Configuration file(cfg.xml)」画面でhibernate.cfg.xmlファイルの保存先としてWEB-INF/srcを指定します。

次の画面でデータベースの接続情報を設定します。ここではPostgreSQLへ接続することにします。ここで、「Create a console configuration」にチェックを入れます。

「Create Hibernate Console Configuration」の「Classpath」タブでWEB-INF/libディレクトリにインポートしたPostgreSQLのドライバ(jarファイル)を指定し、「Finish」ボタンをクリックします。


Reverse engineerファイルの作成

ドメインクラスを自動生成するためのReverse Engineerファイルを作成します。
Package Explorerでプロジェクトを右クリック→「New」→「Other」→「Hibernate」→「Hibernate Reverse Engineering File(reveng.xml)」をクリックします。

「Create Hibernate Reverse Engineering file(reveng.xml)」でhibernate.reveng.xmlファイルの保存先としてWEb-INF/srcディレクトリ指定します。

「Configure Table fileters」の「Console configuration」でconsoleの設定ファイルを指定し、「Refresh」ボタンをクリックします。そうすると設定が間違っていなければ データベースへ接続しスキーマを取得します。

ドメインクラスを作成するテーブルやビューを選択し「Include」ボタンをクリックし、「Finish」ボタンをクリックします。


ドメインクラスの自動生成


最後にデータベースに接続し、ドメインクラスを自動生成します。


EclipseのツールバーにあるHibernateボタンをクリックしドロップ ダウンメニューから、「Open Hibernate Code Generation Dialog...」をクリックします。

「Hibernate Code Generation」を右クリックし「New」をクリックします。

「Main」 タブの「Console Configuration」に、コンソール設定ファイル及びコードを出力するディレクトリを「Output directory」で指定します。その後「Reverse engineer JDBC Connection」にチェックを入れ、自動生成するコードのパッケージ名や先ほど作成したreveng.xmlファイルを指定します。


「Exporters」タブで自動生成する内容を指定します(参考)。その後「Run」ボタンをクリックしコードを自動生成します。

コード自動生成に成功すると指定したパッケージ名でWEB-INF/srcディレクトリ以下に出力されます。

以上です。

0 件のコメント: