Usando HBM2DDL quando il modello ed EM sono in progetti diversi
Domanda
Ho un file JAR creato localmente contenente entità annotate di Hibernate.Ho anche un progetto separato che fa riferimento a questo barattolo.
Ho bisogno di creare uno script DB usando HBM2DDL, ma sto riunendo qualche difficoltà.Quando provo a utilizzare l'attività nella build.xml del file JAR, non è possibile trovare l'unità di persistenza.Quando provo a utilizzare l'attività nella build.xml del file di guerra, nessuna entità si trova affatto.
Questo deve essere qualcosa che viene fatto da altri - come crei l'SQL quando le entità ed EM sono in diversi progetti Eclipse costruiti da script di build separati?
Soluzione
The trick here was including the jar file in the classpath of the task which includes hbm2ddl:
<target name="schemaexport" depends="compile">
<hibernatetool destdir="${basedir}/sql">
<classpath>
<fileset dir="${lib.dir}">
<include name="common.jar" />
</fileset>
</classpath>
<jpaconfiguration />
<hbm2ddl export="false" create="true" drop="true" delimiter=";" format="true" outputfilename="${project.name}-ddl.sql" />
</hibernatetool>
</target>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow