Domanda

Sto cercando di generare POJO di mappatura da file XML. Ho letto qualcosa su come aggiungere un compito formica, di farlo facilmente.

Ho aggiunto questa XML sottostante per accumulo impl.xml di mio progetto in Netbeans, ma non succede nulla:

<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>

Sono principiante di Netbeans, Formica e Hibernate, qualcuno può darmi una mano?

P.S. Io non so davvero quello che dovrebbe 'classpathref' essere. Voglio dire so che dovrebbe contenere il percorso di classe alla distribuzione della sospensione. Il vero problema è che non so come ottenere un compito formica lavora ..

Edit: ho capito che lo script di cui sopra non funziona con Hibernate3 .. Ho un altro script, ma ancora non funziona. Il messaggio di errore visualizzato è: Impossibile creare il tipo hibernatetool come org.hibernate.tool.ant.Hbm2JavaExporterTask classe di classe non ha un costruttore compatibili; E lo script:

<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>

Questa è Hibernate3 compatibile, come ho visto nella documentazione Hibernate: http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/ant.html#d0e2903

È stato utile?

Soluzione

Non so nulla di hbm2java ma dopo l'aggiunta di un compito come nel codice qui sopra, è necessario aggiungere i vasi associati a questo per Ant. Questo viene fatto copiare la directory inton $ANT_HOME/lib file jar. Hai fatto questo?

Altri suggerimenti

Capito: dovrebbe sostituire 'org.hibernate.tool.ant.Hbm2JavaExporterTask' con 'org.hibernate.tool.ant.HibernateToolTask'

Questo è come lo uso.       

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

</target>

Hai pensato di usare le annotazioni JPA invece di XML?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top