anchor.diff:  `PersistenceUnitManager` is specified, one is created and used internally by
   `LocalContainerEntityManagerFactoryBean`.
   
  +[[orm-jpa-setup-background]]
  +===== Background bootstrapping
  +
  +`LocalContainerEntityManagerFactoryBean` supports background bootstrapping through
  +the `bootstrapExecutor` property:
  +
  +[source,xml,indent=0]
  +[subs="verbatim,quotes"]
  +----
  +	<bean id="emf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
  +		<property name="bootstrapExecutor">
  +			<bean class="org.springframework.core.task.SimpleAsyncTaskExecutor"/>
  +		</property>
  +	</bean>
  +----
  +
  +The actual JPA provider bootstrapping will be handed off to the specified executor then,
  +running in parallel to the application bootstrap thread. The exposed `EntityManagerFactory`
  +proxy can be injected into other application components and is even able to respond
  +`EntityManagerFactoryInfo` configuration inspection. However, once the actual JPA provider
  +is being accessed by other components, e.g. calling `createEntityManager`, those calls
  +will block until the background bootstrapping has completed. In particular, when using
  +Spring Data JPA, make sure to set up deferred bootstrapping for its repositories as well.
  +
   
   [[orm-jpa-dao]]
   ==== Implementing DAOs based on JPA: EntityManagerFactory and EntityManager
  
positive.code: ----
  
  You can also access a JNDI-located `SessionFactory`, using Spring's
  `JndiObjectFactoryBean` / `<jee:jndi-lookup>` to retrieve and expose it. However, that
  is typically not common outside of an EJB context.
  
  
  [[orm-hibernate-straight]]
  
negative.code: native Hibernate setup can also be expressed through `LocalSessionFactoryBuilder`,
  seamlessly integrating with `@Bean` style configuration (no `FactoryBean` involved).
  
  [NOTE]
  ====
  `LocalSessionFactoryBean` and `LocalSessionFactoryBuilder` support background
  bootstrapping, just like the JPA `LocalContainerEntityManagerFactoryBean`.
  See <<orm-jpa-setup-background,Background bootstrapping>> for an introduction.
  
  On `LocalSessionFactoryBean`, this is available through the "bootstrapExecutor"
  property; on the programmatic `LocalSessionFactoryBuilder`, there is an overloaded
  `buildSessionFactory` method which takes a bootstrap executor argument.
  ====
  
  
  
  
  