Interface SchemaManager
- All Superinterfaces:
SchemaManager
- Since:
- 6.2
- See Also:
- API Note:
- This interface was added to JPA 3.2 as
SchemaManager
, which it now inherits, with a minor change to the naming of its operations. It is retained for backward compatibility and as a place to define additional operations likepopulate()
,resynchronizeGenerators()
, andforSchema(java.lang.String)
.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
dropMappedObjects
(boolean dropSchemas) Drop database objects mapped by Hibernate entities, undoing the previous export.void
exportMappedObjects
(boolean createSchemas) Export database objects mapped by Hibernate entities, and then import initial data from/import.sql
and any other configured load script.forCatalog
(String catalogName) Obtain an instance which targets the given catalog.Obtain an instance which targets the given schema.void
populate()
Populate the database by executing/import.sql
and any other configured load script.void
Resynchronize sequences and table-based generators after importing entity data.void
Truncate the database tables mapped by Hibernate entities, reset all associated sequences and tables backing table generators, and then reimport initial data from/import.sql
and any other configured load script.void
Validate that the database objects mapped by Hibernate entities have the expected definitions.Methods inherited from interface jakarta.persistence.SchemaManager
create, drop, truncate, validate
-
Method Details
-
exportMappedObjects
void exportMappedObjects(boolean createSchemas) Export database objects mapped by Hibernate entities, and then import initial data from/import.sql
and any other configured load script.Programmatic way to run
SchemaCreator
.- Parameters:
createSchemas
- iftrue
, attempt to create schemas, otherwise, assume the schemas already exist- API Note:
- This operation is a synonym for
SchemaManager.create(boolean)
.
-
dropMappedObjects
void dropMappedObjects(boolean dropSchemas) Drop database objects mapped by Hibernate entities, undoing the previous export.Programmatic way to run
SchemaDropper
.- Parameters:
dropSchemas
- iftrue
, drop schemas, otherwise, leave them be- API Note:
- This operation is a synonym for
SchemaManager.drop(boolean)
.
-
validateMappedObjects
void validateMappedObjects()Validate that the database objects mapped by Hibernate entities have the expected definitions.Programmatic way to run
SchemaValidator
.- API Note:
- This operation is a synonym for
SchemaManager.validate()
.
-
truncateMappedObjects
void truncateMappedObjects()Truncate the database tables mapped by Hibernate entities, reset all associated sequences and tables backing table generators, and then reimport initial data from/import.sql
and any other configured load script.Programmatic way to run
SchemaTruncator
.This operation does not affect the second-level cache. Therefore, after calling
truncate()
, it might be necessary to also callCache.evictAllRegions()
to clean up data held in the second-level cache.- API Note:
- This operation is a synonym for
SchemaManager.truncate()
.
-
populate
Populate the database by executing/import.sql
and any other configured load script.This operation does not automatically resynchronize sequences or tables backing table generators, and so it might be necessary to call
resynchronizeGenerators()
after calling this method.Programmatic way to run
SchemaPopulator
.- Since:
- 7.0
- See Also:
-
resynchronizeGenerators
Resynchronize sequences and table-based generators after importing entity data.When data is imported to the database without the use of a Hibernate session, a database sequence might become stale with respect to the data in the table for which it is used to generate unique keys. This operation restarts every sequence so that the next generated unique key will be larger than the largest key currently in use. A similar phenomenon might occur for the database table backing a table-based generator, and so this operation also updates such tables.
Programmatic way to run
GeneratorSynchronizer
.- Since:
- 7.2
-
forSchema
Obtain an instance which targets the given schema.This is especially useful when using multiple schemas, for example, in schema-based multitenancy.
- Parameters:
schemaName
- The name of the schema to target- Since:
- 7.1
-
forCatalog
Obtain an instance which targets the given catalog.- Parameters:
catalogName
- The name of the catalog to target- Since:
- 7.1
-