Spring Transactional - Hibernate4 Lazy field + Hibernate.initialize()= collection与任何会话无关

时间:2013-08-21 14:51:20

标签: spring hibernate lazy-initialization

首先我使用Sping 3.1.1 Transactional

<bean id="transactionManagerHLDC01" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactoryHLDC01" />
    <qualifier value="hldc01"/>
</bean>

和hibernate 4.2.3

<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>

我还有主实体(ME)和

@OneToMany(fetch=FetchType.LAZY, mappedBy="host") // <- field in DovecotEmailDomain
@Fetch(FetchMode.SELECT)
private Set<DovecotEmailDomain> domains; 

和子实体(CE)

当我调用ME.getDomains()时 它启动了Hibernate活动,但它不在已关闭的TRANSACTION中。

问题是:

我如何使用HEBERNATE4 + SPRING 3.1中的现有事务来涵盖Hibernate活动?

0 个答案:

没有答案