blob: ba284923c4cbb5b547dcf48f31833c16b4a21947 [file] [log] [blame]
------
Introduction
------
Rahul Thakur, Mark Struberg
------
November 29, 2010
------
OpenJPA Maven Plugin
As of this writing the OpenJPA Plugin provides 3 goals to
cope with persistence-enabled classes in a project using Maven 2.
* Goals Overview
* <<<openjpa:enhance>>> enhances the persistence-enabled classes in a
project.
* <<<openjpa:test-enhance>>> enhances the persistence-enabled test classes in a
project. This is typically bound to the process-test-classes phase.
* <<<openjpa:sql>>> creates a file which contains the SQL statements
for creating or updating the database or directly create the schema
in the database.
* <<<openjpa:schema>>> create the schema mapping XML file
All these OpenJPA Mojos expect the following resources to be
present on classpath:
* <<<META-INF/persistence.xml>>>, or
* <<<META-INF/openjpa.xml>>>
OpenJPA documentation is available
{{{http://openjpa.apache.org/documentation.html}here}}.
* Examples
Below is an OpenJPA plugin configuration example.
+----------+
<plugin>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
<version>1.2</version>
<configuration>
<includes>com/myproject/entities/**/*.class</includes>
<addDefaultConstructor>true</addDefaultConstructor>
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
<!-- Pass additional properties to the Plugin here -->
<toolProperties>
<property>
<name>directory</name>
<value>otherdirectoryvalue</value>
</property>
</toolProperties>
</configuration>
<executions>
<execution>
<id>enhancer</id>
<phase>process-classes</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>
+-----------+
* You don't have to explicitly specify an OpenJPA dependency in the dependencies section
of the plugin! Follow the following guide to use this plugin with {{{examples/older_versions.html}older OpenJPA versions}}.
* The <<<openjpa:enhance>>> mojo will automatically be called in the
<<<process-classes>>> phase.
From the command prompt/terminal window.
* Change directory to the project's root directory.
* Run the following goal to run OpenJPA PCEnhancer on persistence-enabled
classes manually.
----------
mvn openjpa:enhance
----------
* Run the following goal to run OpenJPA MappingTool for creating the
database creation SQL statements for all persistence-enabled classes manually.
----------
mvn openjpa:sql
----------
* Run the following goal to run OpenJPA MappingTool for creating the
schema mapping XML file for all persistence-enabled classes manually.
----------
mvn openjpa:schema
----------