Class HibernatePersistenceProvider

java.lang.Object
org.hibernate.jpa.HibernatePersistenceProvider
All Implemented Interfaces:
PersistenceProvider

public class HibernatePersistenceProvider extends Object implements PersistenceProvider
The best-ever implementation of a JPA PersistenceProvider.
Author:
Gavin King, Steve Ebersole, Brett Meyer
  • Constructor Details

    • HibernatePersistenceProvider

      public HibernatePersistenceProvider()
  • Method Details

    • createEntityManagerFactory

      public EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties)
      Called by Persistence class when an EntityManagerFactory is to be created.
      Specified by:
      createEntityManagerFactory in interface PersistenceProvider
      Parameters:
      persistenceUnitName - the name of the persistence unit
      properties - 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
    • getEntityManagerFactoryBuilderOrNull

      protected EntityManagerFactoryBuilder getEntityManagerFactoryBuilderOrNull(String persistenceUnitName, Map<?,?> properties)
    • getEntityManagerFactoryBuilderOrNull

      protected EntityManagerFactoryBuilder getEntityManagerFactoryBuilderOrNull(String persistenceUnitName, Map<?,?> properties, ClassLoader providedClassLoader)
    • getEntityManagerFactoryBuilderOrNull

      protected EntityManagerFactoryBuilder getEntityManagerFactoryBuilderOrNull(String persistenceUnitName, Map<?,?> properties, ClassLoaderService providedClassLoaderService)
    • wrap

      protected static Map<?,?> wrap(Map<?,?> properties)
    • createContainerEntityManagerFactory

      public EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info, Map properties)
      Called by the container when an EntityManagerFactory is to be created.

      Note: per-spec, the values passed as properties override values found in PersistenceUnitInfo

      Specified by:
      createContainerEntityManagerFactory in interface PersistenceProvider
      Parameters:
      info - metadata for use by the persistence provider
      properties - 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 "jakarta.persistence.validation.factory". If the containing archive is a bean archive, the container must pass the BeanManager instance in the map with the key "jakarta.persistence.bean.manager".
      Returns:
      EntityManagerFactory for the persistence unit specified by the metadata
    • generateSchema

      public void generateSchema(PersistenceUnitInfo info, Map map)
      Description copied from interface: PersistenceProvider
      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.

      Specified by:
      generateSchema in interface PersistenceProvider
      Parameters:
      info - metadata for use by the persistence provider
      map - properties for schema generation; these may also include provider-specific properties
    • generateSchema

      public boolean generateSchema(String persistenceUnitName, Map map)
      Description copied from interface: PersistenceProvider
      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.

      Specified by:
      generateSchema in interface PersistenceProvider
      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
    • getEntityManagerFactoryBuilder

      protected EntityManagerFactoryBuilder getEntityManagerFactoryBuilder(PersistenceUnitInfo info, Map<?,?> integration)
    • getEntityManagerFactoryBuilder

      protected EntityManagerFactoryBuilder getEntityManagerFactoryBuilder(PersistenceUnitDescriptor persistenceUnitDescriptor, Map<?,?> integration, ClassLoader providedClassLoader)
    • getEntityManagerFactoryBuilder

      protected EntityManagerFactoryBuilder getEntityManagerFactoryBuilder(PersistenceUnitDescriptor persistenceUnitDescriptor, Map<?,?> integration, ClassLoaderService providedClassLoaderService)
    • getProviderUtil

      public ProviderUtil getProviderUtil()
      Description copied from interface: PersistenceProvider
      Return the utility interface implemented by the persistence provider.
      Specified by:
      getProviderUtil in interface PersistenceProvider
      Returns:
      ProviderUtil interface