Class SpringBeanContainer

java.lang.Object
org.springframework.orm.hibernate5.SpringBeanContainer
All Implemented Interfaces:
BeanContainer, Stoppable

public final class SpringBeanContainer extends Object implements BeanContainer
Spring's implementation of Hibernate's BeanContainer SPI, delegating to a Spring ConfigurableListableBeanFactory.

Auto-configured by LocalSessionFactoryBean.setBeanFactory(org.springframework.beans.factory.BeanFactory), programmatically supported via LocalSessionFactoryBuilder.setBeanContainer(org.springframework.beans.factory.config.ConfigurableListableBeanFactory), and manually configurable through a "hibernate.resource.beans.container" entry in JPA properties, e.g.:

 <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
   ...
   <property name="jpaPropertyMap">
           <map>
       <entry key="hibernate.resource.beans.container">
               <bean class="org.springframework.orm.hibernate5.SpringBeanContainer"/>
             </entry>
           </map>
   </property>
 </bean>
Or in Java-based JPA configuration:
 LocalContainerEntityManagerFactoryBean emfb = ...
 emfb.getJpaPropertyMap().put(AvailableSettings.BEAN_CONTAINER, new SpringBeanContainer(beanFactory));
 
Please note that Spring's LocalSessionFactoryBean is an immediate alternative to LocalContainerEntityManagerFactoryBean for common JPA purposes: The Hibernate SessionFactory will natively expose the JPA EntityManagerFactory interface as well, and Hibernate BeanContainer integration will be registered out of the box.
Since:
5.1
Author:
Juergen Hoeller
See Also: