【问题标题】:Spring 4.1.6 and Hibernate 3.2.2?Spring 4.1.6 和 Hibernate 3.2.2?
【发布时间】:2015-08-12 13:42:00
【问题描述】:

我们从 Spring 3.x 迁移到 Spring 4.1.6。 Spring 4 及以上版本推荐 Hibernate 4 或 Hibernate 3.6.10。但我们计划继续使用 Hibernate 3.2.2,因为在 Hibernate 3.2.2 和 3.6.10 中有几个重大更改,我们计划稍后解决。到目前为止,我们只遇到了一个问题,即 Spring 4 使用了 Hibernate 3.2.2 中缺少的一些异常类。我们能够轻松解决这个问题。

有没有人能指出我们使用这种组合可能面临的任何其他问题?或者有关如何找出 Spring 4 正在使用的 Hibernate 3.6 的特定功能的任何指针,这些功能在 hibernate 3.2.2 中缺少?

【问题讨论】:

    标签: spring hibernate spring-4 hibernate3


    【解决方案1】:

    大家可以看看Spring官方migration guide

    org.springframework.orm.hibernate3 包将被淘汰为 Spring 框架 4.2。我们暂时继续支持; 但是,我们强烈建议升级到 Hibernate 4.2/4.3 或 5.0。

    从 Spring Framework 4.0.1 开始,我们提供了一个 HibernateTemplate 变体 在 org.springframework.orm.hibernate4 中以简化常见的迁移 Hibernate 3.x 数据访问代码,特别是如果您的动机是 升级是 Hibernate 3.x 行中缺少错误修复。笔记 新写的代码推荐使用Hibernate的原生 SessionFactory.getCurrentSession() 样式。

    在相关说明中,不推荐使用 HibernateInterceptor org.springframework.orm.hibernate3 并且不再存在 org.springframework.orm.hibernate4。作为基本 Session 的替代品 绑定事务之外的需求,考虑使用新的 OpenSessionInterceptor 变体,可用于 Hibernate 3 和 4 从 Spring Framework 4.0.2 开始。

    注意:Spring Framework 4.0.0 版本意外受限 HibernateTemplate 的 List 元素类型仅限于 Object。这已经 从 4.0.2 (https://jira.springsource.org/browse/SPR-11402) 开始修复, 允许再次立即强制转换为特定类型的列表。如果你 迁移现有 Hibernate 访问代码时遇到任何问题,请 先升级到 Spring Framework 4.0.2。

    【讨论】:

      猜你喜欢
      • 2016-08-19
      • 2013-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 2013-10-02
      相关资源
      最近更新 更多