Package org.springframework.boot.orm.jpa
Class EntityManagerFactoryBuilder
java.lang.Object
org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder
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
-
Nested Class Summary
Modifier and TypeClassDescriptionfinal class
A fluent builder for a LocalContainerEntityManagerFactoryBean. -
Constructor Summary
ConstructorDescriptionEntityManagerFactoryBuilder
(org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter, Map<String, ?> jpaProperties, 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.EntityManagerFactoryBuilder
(org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter, Map<String, ?> jpaProperties, 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. -
Method Summary
Modifier and TypeMethodDescriptiondataSource
(DataSource dataSource) void
setBootstrapExecutor
(org.springframework.core.task.AsyncTaskExecutor bootstrapExecutor) Configure the bootstrap executor to be used by theLocalContainerEntityManagerFactoryBean
.void
setPersistenceUnitPostProcessors
(org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor... persistenceUnitPostProcessors) Set the persistence unit post processors to be applied to the PersistenceUnitInfo used for creating theLocalContainerEntityManagerFactoryBean
.
-
Constructor Details
-
EntityManagerFactoryBuilder
public EntityManagerFactoryBuilder(org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter, Map<String, ?> jpaProperties, 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 adapterjpaProperties
- the JPA properties to be passed to the persistence providerpersistenceUnitManager
- optional source of persistence unit information (can be null)
-
EntityManagerFactoryBuilder
public EntityManagerFactoryBuilder(org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter, Map<String, ?> jpaProperties, 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 adapterjpaProperties
- the JPA properties to be passed to the persistence providerpersistenceUnitManager
- optional source of persistence unit information (can be null)persistenceUnitRootLocation
- the persistence unit root location to use as a fallback (can be null)- Since:
- 1.4.1
-
-
Method Details
-
dataSource
-
setBootstrapExecutor
public void setBootstrapExecutor(org.springframework.core.task.AsyncTaskExecutor bootstrapExecutor) Configure the bootstrap executor to be used by theLocalContainerEntityManagerFactoryBean
.- 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 theLocalContainerEntityManagerFactoryBean
.- Parameters:
persistenceUnitPostProcessors
- the persistence unit post processors to use- Since:
- 2.5.0
-