There are Hibernate tools for mapping files to ddl generation; ddl to mapping files and so on, but I can't find any command line tools for simple DDL generation from JPA annotated classes.
Does anyone know an easy way to do this? (Not using Ant or Maven workarounds)
I'm not sure, whether this is considered a workaround, because you already referred to it in your question. You can use Hibernate Tools to generate DDL from JPA annotated classes. You just need hibernate tools and its dependencies on the classpath and should be fine with something like the following:
<target name="schemaexport" description="Export schema to DDL file"
depends="compile-jpa"> <!-- compile model classes before running hibernatetool -->
<!-- task definition; project.class.path contains all necessary libs -->
<taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask"
classpathref="project.class.path" />
<hibernatetool destdir="export/db"> <!-- check that directory exists -->
<jpaconfiguration persistenceunit="myPersistenceUnitName" />
<classpath>
<!--
compiled model classes and other configuration files don't forget
to put the parent directory of META-INF/persistence.xml here
-->
</classpath>
<hbm2ddl outputfilename="schemaexport.sql" format="true"
export="false" drop="true" />
</hibernatetool>
</target>
On the other hand, if you are using Eclipse with Webtools and have configured the project settings correctly, you can just right click and select Generate DDL from the context menu. More information about that on the Eclipse Dali website.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With