javax.persistence.spi

## Interface PersistenceProvider

-     public interface PersistenceProvider

  Interface implemented by the persistence provider.

  It is invoked by the container in Java EE environments and by the `Persistence` class in Java SE environments to create an `EntityManagerFactory` and/or to cause schema generation to occur.

  Since:
    Java Persistence 1.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `EntityManagerFactory` | `createContainerEntityManagerFactory(PersistenceUnitInfo info, Map map)` Called by the container when an `EntityManagerFactory` is to be created.
    `EntityManagerFactory` | `createEntityManagerFactory(String emName, Map map)` Called by `Persistence` class when an `EntityManagerFactory` is to be created.
    `void` | `generateSchema(PersistenceUnitInfo info, Map map)` Create database schemas and/or tables and/or create DDL scripts as determined by the supplied properties.
    `boolean` | `generateSchema(String persistenceUnitName, Map map)` Create database schemas and/or tables and/or create DDL scripts as determined by the supplied properties.
    `ProviderUtil` | `getProviderUtil()` Return the utility interface implemented by the persistence provider.

- - ### Method Detail

    - #### createEntityManagerFactory

          EntityManagerFactory createEntityManagerFactory(String emName,
                                                        Map map)

      Called by `Persistence` class when an `EntityManagerFactory` is to be created.
      Parameters:
        `emName` - the name of the persistence unit
        `map` - a Map of properties for use by the persistence provider. These properties may be used to override the values of the corresponding elements in the `persistence.xml` file or specify values for properties not specified in the `persistence.xml` (and may be null if no properties are specified).
      Returns:
        EntityManagerFactory for the persistence unit, or null if the provider is not the right provider

    - #### createContainerEntityManagerFactory

          EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info,
                                                                 Map map)

      Called by the container when an `EntityManagerFactory` is to be created.
      Parameters:
        `info` - metadata for use by the persistence provider
        `map` - a Map of integration-level properties for use by the persistence provider (may be null if no properties are specified). These properties may include properties to control schema generation. If a Bean Validation provider is present in the classpath, the container must pass the `ValidatorFactory` instance in the map with the key `"javax.persistence.validation.factory"`. If the containing archive is a bean archive, the container must pass the BeanManager instance in the map with the key `"javax.persistence.bean.manager"`.
      Returns:
        EntityManagerFactory for the persistence unit specified by the metadata

    - #### generateSchema

          void generateSchema(PersistenceUnitInfo info,
                            Map map)

      Create database schemas and/or tables and/or create DDL scripts as determined by the supplied properties.

      Called by the container when schema generation is to occur as a separate phase from creation of the entity manager factory.

      Parameters:
        `info` - metadata for use by the persistence provider
        `map` - properties for schema generation; these may also include provider-specific properties
      Throws:
        `PersistenceException` - if insufficient or inconsistent configuration information is provided of if schema generation otherwise fails
      Since:
        Java Persistence 2.1

    - #### generateSchema

          boolean generateSchema(String persistenceUnitName,
                               Map map)

      Create database schemas and/or tables and/or create DDL scripts as determined by the supplied properties.

      Called by the Persistence class when schema generation is to occur as a separate phase from creation of the entity manager factory.

      Parameters:
        `persistenceUnitName` - the name of the persistence unit
        `map` - properties for schema generation; these may also contain provider-specific properties. The value of these properties override any values that may have been configured elsewhere.
      Returns:
        true if schema was generated, otherwise false
      Throws:
        `PersistenceException` - if insufficient or inconsistent configuration information is provided or if schema generation otherwise fails
      Since:
        Java Persistence 2.1

    - #### getProviderUtil

          ProviderUtil getProviderUtil()

      Return the utility interface implemented by the persistence provider.
      Returns:
        ProviderUtil interface
      Since:
        Java Persistence 2.0

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.