Как добавить задачу hbm2java в Ant в NetBeans - PullRequest
3 голосов
/ 01 марта 2010

Я пытаюсь сгенерировать POJO из сопоставления XML-файлов. Я прочитал кое-что о добавлении задачи муравья, чтобы сделать это легко.

Я добавил этот xml ниже в build-impl.xml моего проекта в Netbeans, но ничего не происходит:

<target name="codegen">
     <echo>Zippzip</echo>
    <taskdef name="hbm2java"
             classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"
             classpathref="javac.classpath"/>
    <hbm2java 
              output="generated/src/">
        <fileset dir="cat/model/">
            <include name="**/*.hbm.xml"/>
        </fileset>
    </hbm2java>
</target>

Я новичок в Netbeans, Ant и Hibernate, кто-нибудь может мне помочь?

P.S. Я действительно не знаю, каким должен быть «classpathref». Я имею в виду, я знаю, что он должен содержать classpath к распределению гибернации. Реальная проблема в том, что я не знаю, как заставить задачу Ant работать ..

Редактировать: я выяснил, что приведенный выше скрипт не работает с Hibernate3 .. У меня есть другой скрипт, но все еще не работает. Отображаемое сообщение об ошибке: Не удалось создать тип hibernatetool, так как класс класса org.hibernate.tool.ant.Hbm2JavaExporterTask не имеет совместимого конструктора; И сценарий:

<target name="codegen">
    <taskdef name="hibernatetool"
        classname="org.hibernate.tool.ant.Hbm2JavaExporterTask">
        <classpath refid="project.classpath" />
    </taskdef>

    <hibernatetool destdir="cat/model/">
        <configuration configurationfile="hibernate.cfg.xml"/>
        <hbm2java />
    </hibernatetool>
</target>

Это Hibernate3-совместимый, как я видел в документах Hibernate: http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/ant.html#d0e2903

Ответы [ 4 ]

1 голос
/ 01 марта 2010

Понял: должен заменить 'org.hibernate.tool.ant.Hbm2JavaExporterTask' на 'org.hibernate.tool.ant.HibernateToolTask'

1 голос
/ 01 марта 2010

Я ничего не знаю о hbm2java, но после добавления задачи, как в коде выше, вам нужно добавить jar-файлы, связанные с этим, в Ant. Это делается путем копирования jar-файла в каталог $ANT_HOME/lib. Ты сделал это?

0 голосов
/ 15 ноября 2010

Рассматривали ли вы использование аннотаций jpa вместо xml?

0 голосов
/ 15 ноября 2010

Вот как я это использую.

    <hibernatetool destdir="${src.java.dir}">
        <configuration>
            <fileset dir="${src.java.dir}">
                <include name="**/*.hbm.xml"/>
            </fileset>
        </configuration>
        <hbm2java/> <!-- Generate POJO source -->
    </hibernatetool>

</target>
...