使用 Spring 3.1 和 Hibernate 4 时替换 IdTransferringMergeEventListener

Jos*_*osh 3 spring hibernate upgrade spring-3 hibernate-4.x

有 Hibernate 4 版本org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener吗?

我正在尝试将我的 Spring 3.0.x + Hibernate 3.6 应用程序升级到 Spring 3.1 + Hibernate 4,但似乎找不到如何更新它。

这在我的 applicationContext 中特别引用,如下所示:

<property name="eventListeners">
      <map>
        <entry key="merge">
          <bean
            class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener" />
        </entry>
      </map>
</property>
Run Code Online (Sandbox Code Playgroud)

保持原样会导致异常:

Caused by: java.lang.ClassNotFoundException: org.hibernate.event.def.DefaultMergeEventListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
Run Code Online (Sandbox Code Playgroud)

大概是因为 Hibernate 4 不再有这个类DefaultMergeEventListener

提前致谢。

Fir*_*iro 6

看起来班级转移到 org.hibernate.event.internal.DefaultMergeEventListener