`cdbimport` is a Maven 2 mojo that that uses Cayenne to generate a DataMap based on an existing database schema. By default, it is bound to the `generate-sources` phase. This allows you to generate your DataMap prior to building your project, which may be necessary if you are also using the cgen task.

### Parameters (as XML elements)

Attribute | Description | Required
--- | --- | ---
map | DataMap XML file to use as a schema descriptor. | Yes
overwriteExisting | Indicates whether existing DB and object entities should be overwritten. This is an all-or-nothing setting. If you need finer granularity, please use the Cayenne Modeler. Default is `true`. | No
schemaName | Database schema to use for importing. | No
tablePattern | Pattern to match tables against for import. Default is to match all tables. | No
importProcedures | Indicates whether stored procedures should be imported. Default is `false`. | No
procedurePattern | Pattern to match stored procedures against for import. Default is to match all stored procedures. This value is only meaningful if `importProcedures` is `true`. | No
meaningfulPk | Indicates whether primary keys should be mapped as attributes of the object entity. Default is `false`. | No
namingStrategy | The naming strategy used for mapping database names to object entity names. Default is `org.apache.cayenne.map.naming.SmartNamingStrategy`. | No
adapter | Java class name implementing org.apache.cayenne.dba.DbAdapter. While this attribute is optional (a generic JdbcAdapter is used if not set), it is highly recommended to specify correct target adapter. | No (but strongly recommended)
driver | A class of JDBC driver to use for the target database. | Yes
url | JDBC connection URL of a target database. | Yes
username | Database user name. | No
password | Database user password. | No

### Examples

Load the Maven 2 plugin and configure the `cdbimport` mojo:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.cayenne.plugins</groupId>
          	    <artifactId>maven-cayenne-plugin</artifactId>
          	    <executions>
                    <execution>
          		    <id>cdbimport</id>
          		    <configuration>
          			<!-- Configuration items go in here.  See table, above. -->
          		    </configuration>
          		    <goals>
          			<goal>cdbimport</goal>
          		    </goals>
          		</execution>
          	    </executions>
            </plugin>
        </plugins>
    </build>

Here is an example of using `cdbimport` to create DB schema objects on a local HSQLDB database named "bookmarker" from a DataMap located in "main/resources/datamap.map.xml":

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.cayenne.plugins</groupId>
          	    <artifactId>maven-cayenne-plugin</artifactId>
          	    <executions>
                    <execution>
          		    <id>cdbimport</id>
          		    <configuration>
          			<map>${project.build.sourceDirectory}/../resources/datamap.map.xml</map>
                            <adapter>org.apache.cayenne.dba.hsqldb.HSQLDBAdapter</adapter>
                            <driver>org.hsqldb.jdbcDriver</driver>
                            <url>jdbc:hsqldb:hsql://localhost/bookmarker</url>
                            <username>sa</username>
          		    </configuration>
          		    <goals>
          			<goal>cdbimport</goal>
          		    </goals>
          		</execution>
          	    </executions>
            </plugin>
        </plugins>
    </build>