openjpa:schema

Full name:

org.codehaus.mojo:openjpa-maven-plugin:1.2:schema

Description:

Executes the schema generation via the OpenJPA MappingTool.

Attributes:

  • Requires a Maven 2.0 project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • Since version: 1.0.
  • Binds by default to the lifecycle phase: process-classes.

Required Parameters

Name Type Since Description
classes File 1.0 Location where persistence-enabled classes are located.
Default value is: ${project.build.outputDirectory}.
forceMojoExecution boolean 1.0 Setting this parameter to true will force the execution of this mojo, even if it would get skipped usually.
Default value is: false.

Optional Parameters

Name Type Since Description
action String 1.0 Argument to specify the action to take on each class. The available actions are: buildSchema, validate
connectionDriverName String 1.0

This setting can be used to override any openjpa.ConnectionDriverName set in the persistence.xml. It can also be used if the persistence.xml contains no connection information at all.

Sample:

<connectionDriverName>com.mchange.v2.c3p0.ComboPooledDataSource</connectionDriverName>
This is most times used in conjunction with connectionProperties.
connectionProperties String 1.0

Used to define the credentials or any other connection properties.

Sample:
<connectionProperties>
  driverClass=com.mysql.jdbc.Driver,
  jdbcUrl=jdbc:mysql://localhost/mydatabase,
  user=root,
  password=,
  minPoolSize=5,
  acquireRetryAttempts=3,
  maxPoolSize=20
</connectionProperties>
This is most times used in conjunction with connectionDriverName.
excludes String 1.0 Comma separated list of excludes to scan searchDir to pass to the jobs. This option may be used to stop OpenJPA tasks from scanning non-JPA classes (which usually leads to warnings such as "Type xxx has no metadata")
includes String 1.0 Comma separated list of includes to scan searchDir to pass to the jobs. This may be used to restrict the OpenJPA tasks to e.g. a single package which contains all the entities.
Default value is: **/*.class.
persistenceXmlFile String 1.0 Used if a non-default file location for the persistence.xml should be used If not specified, the default one in META-INF/persistence.xml will be used. Please note that this is not a resource location but a file path!
schemaAction String 1.0 The action to take on the schema. Actions can be composed in a comma-separated list of one of the following items:
  • add (see MappingTool#ACTION_ADD)
  • refresh (see MappingTool#ACTION_REFRESH)
  • drop (see MappingTool#ACTION_DROP)
  • buildSchema (see MappingTool#ACTION_BUILD_SCHEMA)
  • import (see MappingTool#ACTION_IMPORT)
  • export (see MappingTool#ACTION_EXPORT)
  • validate (see MappingTool#ACTION_VALIDATE)

Default value is: add.
schemaFile File 1.0 Use this option to write the planned schema to an XML document rather than modify the database. The document can then be manipulated and committed to the database with the schema tool
Default value is: ${project.build.directory}/schema.xml.
skip boolean 1.0 When true, skip the execution.
Default value is: false.
toolProperties Properties 1.0 Additional properties passed to the OpenJPA tools.

Parameter Details

action:

Argument to specify the action to take on each class. The available actions are: buildSchema, validate
  • Type: java.lang.String
  • Since: 1.0
  • Required: No

classes:

Location where persistence-enabled classes are located.
  • Type: java.io.File
  • Since: 1.0
  • Required: Yes
  • Expression: ${openjpa.classes}
  • Default: ${project.build.outputDirectory}

connectionDriverName:

This setting can be used to override any openjpa.ConnectionDriverName set in the persistence.xml. It can also be used if the persistence.xml contains no connection information at all.

Sample:

<connectionDriverName>com.mchange.v2.c3p0.ComboPooledDataSource</connectionDriverName>
This is most times used in conjunction with connectionProperties.
  • Type: java.lang.String
  • Since: 1.0
  • Required: No

connectionProperties:

Used to define the credentials or any other connection properties.

Sample:
<connectionProperties>
  driverClass=com.mysql.jdbc.Driver,
  jdbcUrl=jdbc:mysql://localhost/mydatabase,
  user=root,
  password=,
  minPoolSize=5,
  acquireRetryAttempts=3,
  maxPoolSize=20
</connectionProperties>
This is most times used in conjunction with connectionDriverName.
  • Type: java.lang.String
  • Since: 1.0
  • Required: No

excludes:

Comma separated list of excludes to scan searchDir to pass to the jobs. This option may be used to stop OpenJPA tasks from scanning non-JPA classes (which usually leads to warnings such as "Type xxx has no metadata")
  • Type: java.lang.String
  • Since: 1.0
  • Required: No

forceMojoExecution:

Setting this parameter to true will force the execution of this mojo, even if it would get skipped usually.
  • Type: boolean
  • Since: 1.0
  • Required: Yes
  • Expression: ${forceOpenJpaExecution}
  • Default: false

includes:

Comma separated list of includes to scan searchDir to pass to the jobs. This may be used to restrict the OpenJPA tasks to e.g. a single package which contains all the entities.
  • Type: java.lang.String
  • Since: 1.0
  • Required: No
  • Default: **/*.class

persistenceXmlFile:

Used if a non-default file location for the persistence.xml should be used If not specified, the default one in META-INF/persistence.xml will be used. Please note that this is not a resource location but a file path!
  • Type: java.lang.String
  • Since: 1.0
  • Required: No

schemaAction:

The action to take on the schema. Actions can be composed in a comma-separated list of one of the following items:
  • add (see MappingTool#ACTION_ADD)
  • refresh (see MappingTool#ACTION_REFRESH)
  • drop (see MappingTool#ACTION_DROP)
  • buildSchema (see MappingTool#ACTION_BUILD_SCHEMA)
  • import (see MappingTool#ACTION_IMPORT)
  • export (see MappingTool#ACTION_EXPORT)
  • validate (see MappingTool#ACTION_VALIDATE)
  • Type: java.lang.String
  • Since: 1.0
  • Required: No
  • Default: add

schemaFile:

Use this option to write the planned schema to an XML document rather than modify the database. The document can then be manipulated and committed to the database with the schema tool
  • Type: java.io.File
  • Since: 1.0
  • Required: No
  • Default: ${project.build.directory}/schema.xml

skip:

When true, skip the execution.
  • Type: boolean
  • Since: 1.0
  • Required: No
  • Default: false

toolProperties:

Additional properties passed to the OpenJPA tools.
  • Type: java.util.Properties
  • Since: 1.0
  • Required: No