Spring 4.1.6 和 Hibernate 3.2.2?

Posted

技术标签:

【中文标题】Spring 4.1.6 和 Hibernate 3.2.2?【英文标题】:Spring 4.1.6 and 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 中缺少?

【问题讨论】:

【参考方案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。

【讨论】:

以上是关于Spring 4.1.6 和 Hibernate 3.2.2?的主要内容,如果未能解决你的问题,请参考以下文章

Spring 4.1.6 JdbcTemplate 阻塞和同步?

Spring 学习之二(Spring 和 hibernate 整合)

Android开发和hibernate+spring [关闭]

spring.jpa.hibernate.hbm2ddl 和 spring.jpa.hibernate.ddl 之间的区别

spring和hibernate的整合

Spring 5和hibernate 4兼容吗?