Я обновляю Spring 3 с Hibernate 3 до Spring 4 с Hibernate 5. В нашем приложении были использованы 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. Является ли DefaultMergeEventListener заменой IdTransferringMergeEventListener в
Нужно ли регистрировать этот прослушиватель, если я использую Hibernate 5?Я слышал, что этот Spring Listener в 3-м призван заполнить пробел в некоторых ограничениях старых версий Hibernate.
Как лучше всего зарегистрировать этот слушатель в Spring 4?
Когда происходит событие слияния?Если я использую HibernateTemplate.save () или saveOrUpdate () мне это нужно? Как проверить, что этот прослушиватель работает должным образом при настройке события слияния?Любые примеры кода, которые кто-нибудь может предоставить?
Спасибо
Seb