Hibernate ORM 5.6.13.Final
现已可用,包括一些重要的错误修复和一些非常令人兴奋的性能提升。
错误修复:HHH-15554 将具有不可变复合用户类型的实体合并引发异常
这个问题远不如其他人看到的异常那样关键,但仍然很烦人,许多用户都报告了这个问题。
在5.6.11.Final
中引入了一个回归,导致尝试合并具有不可变复合用户类型的实体时出现异常;现在这个问题已经被修复。
错误修复:HHH-15561 使用 Hibernate Envers 插入审计修订时找不到函数 "IDENTITY"
这基本上是 Hibernate Envers 与最新 H2 数据库版本之间的兼容性问题,现在已得到解决。
性能:缓解 secondary_super_cache 可伸缩性问题
类似于我们在 Hibernate ORM 6.1.5.Final
中所做的那样,您可能会发现这个版本的性能显著提升 - 尤其是在具有多个 CPU 的服务器上运行时。
这个版本包括一些针对 JDK-8180450 的缓解措施,因为我们意识到这个问题造成的性能惩罚比之前想象的要严重得多。
更多详情请参阅之前的版本发布博客、JDK问题跟踪器和Quarkus Insights剧集,其中我们对此进行了详细讨论。
让我再次明确一点,我们只实施了部分缓解措施;代码仍存在一些我们可以进一步改进的情况,但我们不太可能在Hibernate ORM v5中解决所有这些问题,因为我们现在关注的重点是main
分支(版本6及更高版本);我们鼓励大家尽快升级到Hibernate ORM 6,这不仅是为了获得像这样免费的性能补丁。
话虽如此,我们的工作很大程度上依赖于您的反馈;这些性能修复在我们的参考基准测试中显示了令人兴奋的高潜力,包括但不限于SpecJ Enterprise,但我们非常愿意了解它们对您的实际应用的影响。
特别感谢来自Red Hat Middleware Performance团队的同事Francesco Nigro,以及整个团队,因为他们经常在我们这样的困难诊断中给予我们支持,并开发了惊人的工具。
更多的润色
-
根据用户请求,将
org.hibernate.criterion.SimpleExpression#getOp()
方法公开,以帮助迁移到遗留的Criteria API。 -
我们的DB2集成代码现在支持在架构验证期间的别名。