Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как добавить задачу hbm2java в Ant в NetBeans

Автор вопроса: Janov ByrnissonОтветов: 4

Я пытаюсь создать 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'. Я имею в виду, что я знаю, что он должен содержать путь к классам для спящего режима. Настоящая проблема в том, что я не знаю, как заставить работать 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, как я видел в документации по спящему режиму: http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/ant.html#d0e2903

javanetbeanstaskanthbm2java

Ответы

Ответ 1 · рейтинг 1 · omermuhammed

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

Ответ 2 · рейтинг 1 · Janov Byrnisson

Выяснилось: следует заменить org.hibernate.tool.ant.Hbm2JavaExporterTask на org.hibernate.tool.ant.HibernateToolTask

Ответ 3 · Gord

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

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

</target>

Ответ 4 · Lefteris Laskaridis

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы