public interface SchemaManager
Allows programmatic schema creation,
schema validation,
data cleanup, and
schema cleanup for entities belonging
to a certain persistence unit.
Properties are inherited from the EntityManagerFactory
,
that is, they may be specified via persistence.xml
or
Persistence.createEntityManagerFactory(String, Map)
.
- Since:
- 3.2
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
create
(boolean createSchemas) Create database objects mapped by entities belonging to the persistence unit.void
drop
(boolean dropSchemas) Drop database objects mapped by entities belonging to the persistence unit, undoing the effects of the previous creation.void
truncate()
Truncate the database tables mapped by entities belonging to the persistence unit, and then re-import initial data from any configured SQL scripts for data loading.void
validate()
Validate that the database objects mapped by entities belonging to the persistence unit have the expected definitions.
-
Method Details
-
create
void create(boolean createSchemas) Create database objects mapped by entities belonging to the persistence unit.If a DDL operation fails, the behavior is undefined. A provider may throw an exception, or it may ignore the problem and continue.
- Parameters:
createSchemas
- iftrue
, attempt to create schemas, otherwise, assume the schemas already exist
-
drop
void drop(boolean dropSchemas) Drop database objects mapped by entities belonging to the persistence unit, undoing the effects of the previous creation.If a DDL operation fails, the behavior is undefined. A provider may throw an exception, or it may ignore the problem and continue.
- Parameters:
dropSchemas
- iftrue
, drop schemas, otherwise, leave them be
-
validate
Validate that the database objects mapped by entities belonging to the persistence unit have the expected definitions.The persistence provider is not required to perform any specific validation, so the semantics of this operation are entirely provider-specific.
- Throws:
SchemaValidationException
- if a database object is missing or does not have the expected definition
-
truncate
void truncate()Truncate the database tables mapped by entities belonging to the persistence unit, and then re-import initial data from any configured SQL scripts for data loading.If a SQL operation fails, the behavior is undefined. A provider may throw an exception, or it may ignore the problem and continue.
-