Class EntityManagerFactoryBuilder

java.lang.Object
org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder

public class EntityManagerFactoryBuilder extends Object
Convenient builder for JPA EntityManagerFactory instances. Collects common configuration when constructed and then allows you to create one or more LocalContainerEntityManagerFactoryBean through a fluent builder pattern. The most common options are covered in the builder, but you can always manipulate the product of the builder if you need more control, before returning it from a @Bean definition.
Since:
1.3.0
  • Constructor Details

    • EntityManagerFactoryBuilder

      public EntityManagerFactoryBuilder(org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter, Function<DataSource,Map<String,?>> jpaPropertiesFactory, org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager persistenceUnitManager)
      Create a new instance passing in the common pieces that will be shared if multiple EntityManagerFactory instances are created.
      Parameters:
      jpaVendorAdapter - a vendor adapter
      jpaPropertiesFactory - the JPA properties to be passed to the persistence provider, based on the configured data source
      persistenceUnitManager - optional source of persistence unit information (can be null)
      Since:
      3.4.4
    • EntityManagerFactoryBuilder

      public EntityManagerFactoryBuilder(org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter, Function<DataSource,Map<String,?>> jpaPropertiesFactory, org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager persistenceUnitManager, URL persistenceUnitRootLocation)
      Create a new instance passing in the common pieces that will be shared if multiple EntityManagerFactory instances are created.
      Parameters:
      jpaVendorAdapter - a vendor adapter
      jpaPropertiesFactory - the JPA properties to be passed to the persistence provider, based on the configured data source
      persistenceUnitManager - optional source of persistence unit information (can be null)
      persistenceUnitRootLocation - the persistence unit root location to use as a fallback or null
      Since:
      3.4.4
    • EntityManagerFactoryBuilder

      @Deprecated(since="3.4.4", forRemoval=true) public EntityManagerFactoryBuilder(org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter, Map<String,?> jpaProperties, org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager persistenceUnitManager)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create a new instance passing in the common pieces that will be shared if multiple EntityManagerFactory instances are created.
      Parameters:
      jpaVendorAdapter - a vendor adapter
      jpaProperties - the JPA properties to be passed to the persistence provider
      persistenceUnitManager - optional source of persistence unit information (can be null)
    • EntityManagerFactoryBuilder

      @Deprecated(since="3.4.4", forRemoval=true) public EntityManagerFactoryBuilder(org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter, Map<String,?> jpaProperties, org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager persistenceUnitManager, URL persistenceUnitRootLocation)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create a new instance passing in the common pieces that will be shared if multiple EntityManagerFactory instances are created.
      Parameters:
      jpaVendorAdapter - a vendor adapter
      jpaProperties - the JPA properties to be passed to the persistence provider
      persistenceUnitManager - optional source of persistence unit information (can be null)
      persistenceUnitRootLocation - the persistence unit root location to use as a fallback or null
      Since:
      1.4.1
  • Method Details

    • dataSource

      public EntityManagerFactoryBuilder.Builder dataSource(DataSource dataSource)
      Create a new EntityManagerFactoryBuilder.Builder for a EntityManagerFactory using the settings of the given instance, and the given DataSource.
      Parameters:
      dataSource - the data source to use
      Returns:
      a builder to create an EntityManagerFactory
    • setBootstrapExecutor

      public void setBootstrapExecutor(org.springframework.core.task.AsyncTaskExecutor bootstrapExecutor)
      Configure the bootstrap executor to be used by the LocalContainerEntityManagerFactoryBean.
      Parameters:
      bootstrapExecutor - the executor
      Since:
      2.1.0
    • setPersistenceUnitPostProcessors

      public void setPersistenceUnitPostProcessors(org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor... persistenceUnitPostProcessors)
      Set the persistence unit post processors to be applied to the PersistenceUnitInfo used for creating the LocalContainerEntityManagerFactoryBean.
      Parameters:
      persistenceUnitPostProcessors - the persistence unit post processors to use
      Since:
      2.5.0