18. April 2007

HibernateTools & Ant

Wie funktioniert die Codegenerierung für Hibernate mit ANT?

Task "
reveng" erzeugt xml-Mappingfiles aus Datenbank-Tabellen, die in der Datei "hibernate.reveng.xml" angegeben werden.

Task "javagen" erzeugt POJOs und DAO-Klassen.

Task "ddlgen" erzeugt DDL-Skript zur Erstellung/Änderung der Tabellen

Task "hiberate-docgen" erzeugt eine JavaDoc-ähnliche Dokumentation der Tabellen und generierten Klassen


build.xml:

<project name="MyProj" default="all" basedir=".">
<property file="build.properties"/>

<path id="toolslib">
<path location="${dbjar}"/>
<path location="."/>
<fileset dir="${hibernate.path}">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${hibernate.tools.path}">
<include name="**/*.jar"/>
</fileset>
</path>

<taskdef name="hibernatetool"
classname="org.hibernate.tool.ant.HibernateToolTask"
classpathref="toolslib"/>



<target name="reveng" description="Reverse Engineer from DB">
<hibernatetool destdir="./hib-gen">
<jdbcconfiguration configurationfile="hibernate.cfg.xml"
packagename="de.rfeest.dataaccess.orm"
revengfile="hibernate.reveng.xml"/>
<hbm2hbmxml destdir="./hib-gen"/>
</hibernatetool>
</target>
<target name="javagen" description="Create Java classes from xml">
<hibernatetool destdir="./src">
<configuration configurationfile="./src/hibernate.cfg.xml"/>
<hbm2java destdir="./src"/>
<hbm2dao destdir="src"/>
</hibernatetool>
</target>
<target name="ddlgen" description="Create DDL from xml">
<hibernatetool destdir="./src">
<configuration configurationfile="./src/hibernate.cfg.xml"/>
<hbm2ddl export="false" outputfilename="./create-tables.ddl"/>
<hbm2doc/>
</hibernatetool>
</target>
<target name="hibernate-docgen" description="Create DDL from xml">
<hibernatetool destdir="../orm">
<configuration configurationfile="src/hibernate.cfg.xml"/>
<hbm2doc/>
</hibernatetool>
</target>


</project>

Keine Kommentare: