ANT task WsJpaDBGenTask
The ANT task WsJpaDBGenTask provides an alternative to the wsdbgen command.
The WsJpaDBGenTask ANT task utility supports utilizing the pureQuery feature in Java Persistence API (JPA) 2.0 and later applications that do not use DB2 databases. Instead of using the wsdbgen from the command line, we can use the example code in the ANT build XML file to use the WsJpaDBGenTask in the build process.
Both the PDQ runtime JAR files, pdq.jar and pdqmgmt.jar, must be specified using the ANT -lib option.
Read more about the DB2 JAR level compliance for pureQuery at the IBM Support website: System requirements for IBM Optimâ„¢ pureQuery Run time for Linux, UNIX, and Windows.
Example
The following example is run in the Windows environment with the ANT command:
C:\jpa\ant jar -noclasspath -lib c:/was8/dev/JavaEE/j2ee.jar -lib ${app_server_root}/runtimes/com.ibm.ws.jpa.thinclient_8.0.0.jar -lib c:/sqllib/java/db2jcc.jar -lib c:/sqllib/java/db2jcc_license_cu.jar -lib c:/sqllib/java/pdq.jar -lib c:/sqllib/java/pdqmgmt.jar
When calling the ANT command, the JAR files for pureQuery, JPA, and the JDBC driver must be on the library list.
<?xml version="1.0"?> <project name="sample" default="jar"> <taskdef name="enhancer" classname="org.apache.openjpa.ant.PCEnhancerTask" /> <taskdef name="wsdbgen" classname="com.ibm.websphere.persistence.pdq.ant.WsJpaDB2GenTask" /> <target name="clean" description="remove intermediate files"> <delete dir="classes"/> <delete dir="enhanced" /> <delete> <fileset dir="." includes="META-INF/*.pdqxml" /> <fileset dir="." includes="sample.jar" /> </delete> </target> <target name="compile" description="compile the Java source code to class files"> <mkdir dir="classes"/> <javac srcdir="." destdir="classes"> <classpath> <pathelement location="c:/was8/dev/JavaEE/j2ee.jar>" <pathelement location="c:/was8/runtimes/com.ibm.ws.jpa.thinclient_8.0.0.jar" /> </classpath> </javac> </target> <target name="enhance" depends="compile" > <mkdir dir="enhanced" /> <enhancer directory="./enhanced" > <config propertiesFile="META-INF/persistence.xml" /> <classpath> <pathelement location="." /> <pathelement location="classes" /> </classpath> </enhancer> </target> <target name="wsdbgen" depends="enhance" > <wsdb2gen pu="MyAntTest" url="jdbc:db2://localhost:50000/demodb" user="user1" pw="secret" > <classpath> <pathelement location="."/> <pathelement location="enhanced" /> </classpath> </wsdb2gen> </target> <target name="jar" depends="wsdbgen" description="create a Jar file for the application"> <jar destfile="sample.jar"> <fileset dir="classes" includes="**/*.class"/> <fileset dir="." includes="META-INF/*.xml" /> </jar> </target> </project>
wsdbgen command
Related information:
System requirements for IBM Optim pureQuery Run time for Linux, UNIX, and Windows