Specifying connection settings in the plugin section

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

  • connectionDriverName which defines the driver class
  • connectionProperties which defines further properties
    <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>