Class Persistence


  • public class Persistence
    extends java.lang.Object
    Bootstrap class used to obtain an EntityManagerFactory in Java SE environments. It may also be used to cause schema generation to occur.

    The Persistence class is available in a Jakarta EE container environment as well; however, support for the Java SE bootstrapping APIs is not required in container environments.

    The Persistence class is used to obtain a PersistenceUtil instance in both Jakarta EE and Java SE environments.

    Since:
    1.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String PERSISTENCE_PROVIDER
      Deprecated, for removal: This API element is subject to removal in a future version.
      TODO: Either change TCK reference to PERSISTENCE_PROVIDER field to expect "jakarta.persistence.spi.PersistenceProvider" or remove PERSISTENCE_PROVIDER field and also update TCK signature tests.
      protected static java.util.Set<PersistenceProvider> providers
      Deprecated, for removal: This API element is subject to removal in a future version. 
    • Constructor Summary

      Constructors 
      Constructor Description
      Persistence()
      Deprecated, for removal: This API element is subject to removal in a future version.
      This class is not intended to be extended nor instantiated, it is going to be marked final when this constructor becomes hidden.
    • Field Detail

      • PERSISTENCE_PROVIDER

        @Deprecated(since="3.2",
                    forRemoval=true)
        public static final java.lang.String PERSISTENCE_PROVIDER
        Deprecated, for removal: This API element is subject to removal in a future version.
        TODO: Either change TCK reference to PERSISTENCE_PROVIDER field to expect "jakarta.persistence.spi.PersistenceProvider" or remove PERSISTENCE_PROVIDER field and also update TCK signature tests.
        This final String is deprecated and should be removed and is only here for TCK backward compatibility
        Since:
        1.0
        See Also:
        Constant Field Values
      • providers

        @Deprecated(since="3.2",
                    forRemoval=true)
        protected static final java.util.Set<PersistenceProvider> providers
        Deprecated, for removal: This API element is subject to removal in a future version.
        This instance variable is deprecated and should be removed and is only here for TCK backward compatibility
        Since:
        1.0
    • Constructor Detail

      • Persistence

        @Deprecated(since="3.2",
                    forRemoval=true)
        public Persistence()
        Deprecated, for removal: This API element is subject to removal in a future version.
        This class is not intended to be extended nor instantiated, it is going to be marked final when this constructor becomes hidden.
        Default constructor.
    • Method Detail

      • createEntityManagerFactory

        public static EntityManagerFactory createEntityManagerFactory​(java.lang.String persistenceUnitName)
        Create and return an EntityManagerFactory for the named persistence unit.
        Parameters:
        persistenceUnitName - the name of the persistence unit
        Returns:
        the factory that creates EntityManagers configured according to the specified persistence unit
      • createEntityManagerFactory

        public static EntityManagerFactory createEntityManagerFactory​(java.lang.String persistenceUnitName,
                                                                      java.util.Map<?,​?> properties)
        Create and return an EntityManagerFactory for the named persistence unit, using the given properties.
        Parameters:
        persistenceUnitName - the name of the persistence unit
        properties - additional properties to use when creating the factory. These properties may include properties to control schema generation. The values of these properties override any values that may have been configured elsewhere.
        Returns:
        the factory that creates EntityManagers configured according to the specified persistence unit
      • createEntityManagerFactory

        public static EntityManagerFactory createEntityManagerFactory​(PersistenceConfiguration configuration)
        Create and return an EntityManagerFactory for the named persistence unit, using the given properties.
        Parameters:
        configuration - configuration of the persistence unit
        Returns:
        the factory that creates EntityManagers configured according to the specified persistence unit
        Since:
        3.2
      • generateSchema

        public static void generateSchema​(java.lang.String persistenceUnitName,
                                          java.util.Map<?,​?> map)
        Create database schemas and/or tables and/or create DDL scripts as determined by the supplied properties.

        Called 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 values of these properties override any values that may have been configured elsewhere.
        Throws:
        PersistenceException - if insufficient or inconsistent configuration information is provided or if schema generation otherwise fails.
        Since:
        2.1