【问题标题】:Upgrade of Hibernate from version 3.0 to 3.6Hibernate 从 3.0 升级到 3.6
【发布时间】:2011-10-28 14:44:40
【问题描述】:

我正在开发一个使用Hibernate 3.0(2005 年发布)的项目,尽管该项目本身只有 4 个月大。问题是我们已经编写了数百万行代码。我们昨天才意识到我们正在使用Hibernate 3.0,现在我们非常想迁移到最新的稳定版本3.6.6。

所以我想知道:

  • 我们映射 hbm 文件的方式会有很多变化吗?(和属性文件)
  • 我们是否有可能在性能方面获得重大改进?(由于 Hibernate 的查询格式错误,目前我们遇到了一些性能问题)
  • 我们编写 HQL 的方式会有很多变化吗?(我们大量使用 HQL)

感谢您的帮助。

【问题讨论】:

  • 在四个月内完成数百万行代码。哇... ;-)
  • 好吧,我们 25 个人在 12 车道高速公路上。百万并不多。 :-)。可能是我夸大了一点,但你明白了。 ;-)。
  • 如果你能在四个月内写出这么多代码,那么测试到 Hibernate 3.6 的升级就很简单了。
  • 你不能在某些机器上升级并测试它吗?

标签: java hibernate jakarta-ee hibernate-mapping


【解决方案1】:

我认为你应该从 3.0 逐步阅读 Hibernate3 Migration Guides 到 3.6 Hibernate

这里是hibernate changelog 中关于从 3.0 到 3.6 的性能改进和路径的快速搜索

  • [HHH-5823] - UpdateTimestampsCache 类中的多线程性能不佳
  • [HHH-5824] - SessionFactoryImpl.getQueryCache 方法中的多线程性能不佳
  • [HHH-3860] - 会话包含许多实体时会出现级联性能问题
  • [HHH-3357] - 提高 session.clear() 的性能
  • [HHH-2553] - 新的 LoadContexts 实现可能导致性能下降
  • [HHH-2957] - ActionQueue 插入排序性能呈指数级下降 (Jay Erb)
  • [HHH-2553] - 新的 LoadContexts 实现可能导致性能下降
  • [HHH-2229] - 修复 HHH-1293 时的性能问题,CGLIBLazyInitializer 对于某些 Java 类可能会变慢
  • [HHH-2023] - JTATransactionFactory.isTransactionInProgress() 的性能优化
  • [HHH-864] - 对带有过滤器的会话使用 QUERY_CACHE 以提高性能
  • [HHH-525] - cglib 相关的启动性能

您可以在Hibernate JIRA中搜索每个项目的详细信息。祝你好运

【讨论】:

  • 非常感谢肯。我想从一个版本到另一个版本的逐步迁移是有道理的,尽管很痛苦。在此过程中,我们肯定会遇到一些噩梦。
  • @pavanlimo 进展如何?您在项目中进行了哪些更改以使其与新版本的hibernate一起使用?搬家后性能有提升吗?
  • 这项任务付出了巨大的努力,而且我们的截止日期如此临近,以至于我们决定不更改 Hibernate 版本。最终与旧版本一起发货。到目前为止一切正常。
猜你喜欢
  • 2012-07-26
  • 1970-01-01
  • 1970-01-01
  • 2017-10-19
  • 2017-10-01
  • 2020-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多