11. Default Schema
Prev | Chapter 4. JDBC | Next

## 11. Default Schema

It is common to duplicate a database model in multiple schemas. You may have one schema for development and another for production, or different database users may access different schemas. OpenJPA facilitates these patterns with the `openjpa.jdbc.Schema` configuration property. This property establishes a default schema for any unqualified table names, allowing you to leave schema names out of your mapping definitions.

The `Schema` property also establishes the default schema for new tables created through OpenJPA tools, such as the mapping tool covered in Section 1, “ Forward Mapping ”.

If the entities are mapped to the same table name but with different schema name within one `PersistenceUnit` intentionally, and the strategy of `GeneratedType.AUTO` is used to generate the ID for each entity, a schema name for each entity must be explicitly declared either through the annotation or the mapping.xml file. Otherwise, the mapping tool only creates the tables for those entities with the schema names under each schema. In addition, there will be only one `OPENJPA_SEQUENCE_TABLE` created for all the entities within the `PersistenceUnit` if the entities are not identified with the schema name. Read Section 6, “ Generators ” in the Reference Guide.

Prev | Up | Next
10. Large Result Sets | Home | 12. Schema Reflection