*Middlegen for Hibernate
Middlegenはデータベースのテーブル定義から魔法のようにJavaコードやマッピングファイルを生成してくれます。しかし、Middlegenを利用するには、Antのビルドファイルを作成する必要があり、少し面倒です。そこで、簡単に使えるAntのビルドファイルのテンプレートを作ってみました。このテンプレートを使えば、データベースのテーブルからHibernate用のマッピングファイルとJavaクラスを簡に生成することができます。Middlegenの詳細については、[[Middlegenのデモ:http://boss.bekk.no/boss/middlegen/demo.html]]をご覧下さい。ここでは、Middlegen2.1を利用してデータベースのテーブル定義からHibernateのマッピングファイルとクラスを生成します。Middlegenの詳細については、下記の書籍もご覧下さい。
http://images-jp.amazon.com/images/P/4839917779.01.MZZZZZZZ.jpg
HibernateとMiddlegenの連携を徹底解説
[[購入はこちら:http://www.amazon.co.jp/exec/obidos/ASIN/4839917779/toraneko-22/249-8156100-9793142]]
**インストール
http://sourceforge.net/projects/hibernateからhibernate2、hibernate-ext、http://sourceforge.net/project/showfiles.php?group_id=36044 からmiddlegen-2.1をダウンロードし、適当なディレクトリに解凍する。
Debianの場合はパッケージvelocityがあるとエラーになるので,パージしておく.
**コンフィギュレーション
+ビルドファイル[[build.xml:http://tidus.ultimania.org/wiki/index.php?plugin=attach&pcmd=open&file=build.xml&refer=Middlegen]]とプロパティファイル[[build.properties:http://tidus.ultimania.org/wiki/index.php?plugin=attach&pcmd=open&file=build.properties&refer=Middlegen]]をダウンロードして適当なディレクトリにコピーする。
+build.propertiesの下記の部分を先ほどダウンロードしたhibernate2,hibernate-ext,middlegenに合わせて変更する。
middlegen.dir = c:/java/middlegen-2.1
hibernate.dir = c:/java/hibernate-2.1
hibernate-ext.dir = c:/java/hibernate-extensions-2.1.2
+build.propertiesのデータベースの設定を変更する。
# データベースの設定
database.driver = org.postgresql.Driver
database.url = jdbc:postgresql://localhost/test
database.userid = postgres
database.password = postgres
+ アプリケーション名と生成するJavaクラスのファイル名を適当に指定
# 生成するHibernateの設定ファイル(*.hbm.xml)と
# Javaクラスのパッケージ名
package = org.ultimania.vo
# アプリケーション名
name = myapp
**実行
antを実行します。
> ant compile
> ...
> dir build/classes/org/ultimania/vo
Address.class Address.hbm.xml Student.class Student.hbm.xml
このようにクラスとHibernateのマッピングファイルが生成されます。
**サンプルについて
ここで実行したサンプルは、Middlegenとhbm2javaを利用して次のように変換を行っています。
(データベースのテーブル定義)-[Middlegen]->(マッピングファイル)-[hbm2java]->(Javaクラス)
**日本語メッセージについて
Middlegen2.1からHibenrateプラグインで日本語が表示できるようになりました。英語と日本語の対応関係については、下記のLocalStrings.javaをご覧下さい(文字化けする場合は、文字コードをutf-8に設定して下さい)。
-http://cvs.sourceforge.net/viewcvs.py/middlegen/middlegen/plugins/hibernate/src/middlegen/plugins/hibernate/swing/LocalStrings.java?rev=1.1&view=log
**参考文献
-[[Hibernate / Middlegen - Inheritance and Many To Many v1.0:http://www.warfrog.com/hibernatetutorial2/]]
-[[Middlegen for Hibernate:http://www.hibernate.org/98.html]]