2011年3月28日月曜日

Hibernate3でhbm2java

NetBeans6.9.1で「データベースからの Hibernate のマッピングファイルと POJO」を実行するとjavaコードと.hbm.xmlが生成されますが、手を入れたhbm.xmlからjavaコードを生成する手段が見当たらなかったのでantでやりました。

build.xmlに以下を追加してhbm2javaタスクを実行。
class.pathは各自の環境にあわせてください。私はMacでNetBeansなので…。

単独のxmlに記載してbuild.xmlでimportしてもよし。
NetBeansではnbproject内のbuild-impl.xmlが実体でbuild.xmlでimportしているので。

<path id="class.path">
        <fileset dir="/Applications/NetBeans/NetBeans 6.9.1.app/Contents/Resources/NetBeans/ide/modules/ext/" includes="*.jar"/>
        <fileset dir="/Applications/NetBeans/NetBeans 6.9.1.app/Contents/Resources/NetBeans/java/ant/lib" includes="*jar"/>
        <fileset dir="/Applications/NetBeans/NetBeans 6.9.1.app/Contents/Resources/NetBeans/java/modules/ext/hibernate/" includes="*.jar" />
    </path>

    <property name="srcdir" value="${basedir}/src"/>

    <target name="hbm2java">
        <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask">
            <classpath refid="class.path"/>
        </taskdef>
        <hibernatetool destdir="${srcdir}">
            <configuration configurationfile="${srcdir}/hibernate.cfg.xml">
                <fileset dir="${srcdir}">
                    <include name="**/*.hbm.xml"/>
                </fileset>
            </configuration>
            <hbm2java/>
        </hibernatetool>
    </target>

0 件のコメント:

コメントを投稿