我正在从带有Hibernate 3的Spring 3升级到带有Hibernate 5的Spring 4。 在我们的应用程序中,通过以下方式将IdTransferringMergeEventListener与org.springframework.orm.hibernate3.LocalSessionFactoryBean一起使用。
<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
----
----
<property name="eventListeners">
<map>
<entry key="merge">
<bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/>
</entry>
</map>
</property>
</bean>
当我们使用Spring 4和Hibernate 5(带有org.springframework.orm.hibernate5.LocalSessionFactoryBean)时,不支持eventListeners属性。另外,IdTransferringMergeEventListener不存在。当我搜索时,我看到有一条帖子说IdTransferringMergeEventListener已被合并到org.hibernate.event.internal.DefaultMergeEventListener。
这是问题。
1.在Spring 4中,DefaultMergeEventListener是否替换了IdTransferringMergeEventListener?
如果我使用的是Hibernate 5,是否需要注册此监听器?我听说3中的Spring Listener是为了填补Hibernate旧版本的某些限制。
在Spring 4中注册此侦听器的最佳方法是什么?
谢谢
塞巴