Hibernate3でhbm2java
Hibernate3.*になってからhbm2java(Hibernateのマッピングファイルから、マッピングクラスを生成するantタスク)が使えず、
不便を感じている人も多いのではないでしょうか。
Hibernate3用のEclipse Plugin、Hibernate3 Tools(現在アルファ版)にはhbm2java
等のant用ツールが含まれており、従来同様hbm2javaを実行することもできます。
Hibernate3 Toolsプラグインを導入後、ヘルプを見ると実は書いてあるのですが、実行には
一手間必要です。
①build.xmlの設定
ヘルプにはTaskDefの説明で
classpath="[location of hibernate-tools.jar, velocity-1.4.jar, velocity-tools-generic-1.4.jar, jtidy-r8-21122004.jar, hibernate3.jar & jdbc drivers]"
などと萎えることが書いていますが、実はこれらのjarはHibernate3 Toolsプラグインのフォルダ内に一式そろっています。
そこで、以下のようなbuild.xmlを用意しました。
マッピングXMLは、あらかじめソースフォルダに作成済みです。
②hibernate.cgf.xml
hibernate.cfg.xmlは必須です。(オレはSpringで全部設定するからそんなもんいらねぇ!と言う人でも)
ただし、ほぼ空っぽで十分です。hbm2javaだけなら、DBに接続するわけではありませんし、マッピングXMLを指定すると逆に
マッピングクラスが無いといって怒られます。これから生成するから無いのは当然ですね。
下のhibernate.cfg.xmlをソースフォルダのルートに作ります。
<?xml version="1.0" encoding="UTF-8"?>
③実行
あとは流すだけです。(「あとは流すだけ」って素敵な響きですね)
コンソールまたはEclipseから"ant codegen"を実行すればマッピングクラスのソースが作られます。