Interface SchemaManager


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 Type
    Method
    Description
    void
    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 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 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 - if true, 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 - if true, drop schemas, otherwise, leave them be
    • validate

      void validate() throws SchemaValidationException
      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.