Sometimes it's necessary to set (or override) the connection settings which are needed at build time in the plugin section because the persistence.xml doesn't contain the correct information.
This can be performed with the 2 optional parameters
<project> [...] <build> [...] <plugins> <plugin> <groupId>org.apache.openjpa</groupId> <artifactId>openjpa-maven-plugin</artifactId> <version>1.2</version> <configuration> <includes> com/mycompany/myproject/myentities/*.class </includes> <addDefaultConstructor>true</addDefaultConstructor> <enforcePropertyRestrictions>true</enforcePropertyRestrictions> <sqlAction>refresh</sqlAction> <sqlFile>${project.build.directory}/database.sql</sqlFile> <connectionDriverName>com.mchange.v2.c3p0.ComboPooledDataSource</connectionDriverName> <connectionProperties> driverClass=com.mysql.jdbc.Driver, jdbcUrl=jdbc:mysql://localhost/TissExamples, user=root, password=, minPoolSize=5, acquireRetryAttempts=3, maxPoolSize=20 </connectionProperties> </configuration> <executions> <execution> <id>mappingtool</id> <phase>process-classes</phase> <goals> <goal>enhance</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency> <dependency> <groupId>org.apache.openjpa</groupId> <artifactId>openjpa-all</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>net.sourceforge.cobertura</groupId> <artifactId>cobertura</artifactId> <version>1.9.2</version> </dependency> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.11</version> </dependency> </dependencies> </plugin> [...] </plugins> [...] </build> [...] </project>