Interface SchemaManager

All Superinterfaces:
SchemaManager

@Incubating public interface SchemaManager extends SchemaManager
Allows programmatic schema export, schema validation, data cleanup, and schema cleanup as a convenience for writing tests.
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 functionality such as populate() and forSchema(java.lang.String).
  • 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 - if true, 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 - if true, 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, 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 call Cache.evictAllRegions() to clean up data held in the second-level cache.

      API Note:
      This operation is a synonym for SchemaManager.truncate().
    • populate

      @Incubating void populate()
      Populate the database by executing /import.sql and any other configured load script.

      Programmatic way to run SchemaPopulator.

      Since:
      7.0
      See Also:
    • forSchema

      @Incubating SchemaManager forSchema(String schemaName)
      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

      @Incubating SchemaManager forCatalog(String catalogName)
      Obtain an instance which targets the given catalog.
      Parameters:
      catalogName - The name of the catalog to target
      Since:
      7.1