今天,我们发布了Hibernate ORM 6.2的新维护版本:6.2.6.Final。

新增内容

这次更新包括了一些错误修复以及进一步稳定化,以便我们接近下一个小版本Hibernate的发布。

错误修复

可嵌入键和属性排序

我们修复了一个可能导致复合键属性顺序意外的错误,这可能会引起约束问题(见 HHH-16514

字节码增强

我们持续改进Hibernate的字节码增强支持,这次我们解决了几个错误

  • 读取在另一个包中声明的 @MappedSuperclass 扩展的实体时,不正确(见 HHH-16711

  • 字节码增强导致针对用 @Proxy(lazy = false) 注解的实体的 @ManyToOne 关联被懒加载(见 HHH-16794

  • Hibernate无法更新具有 OptimisticLockType.DIRTY 并启用字节码增强的 one-to-one 懒关联(见 HHH-16839

  • 字节码增强导致一个在 @MappedSuperclass 中声明为泛型的嵌入字段的构造函数损坏(见 HHH-16832

子查询和连接

我们解决了影响Hibernate生成子查询在连接中使用时的一些问题

  • 当在子查询中重新使用连接时,会再次引用表而不是重新使用连接(见 HHH-16537

  • 一个HQL查询包含一个至少两个级别深的实体路径的子查询产生了缺少连接谓词的SQL(见 HHH-16721

多态查询

我们修复了与多态查询相关的一些错误

  • 当将多态实体值路径作为函数的参数使用时,触发了 未解析到 TableGroup 的 SqmRoot 错误(见 HHH-16733

  • 在子查询中处理多态实体的嵌套连接时抛出了异常(见 HHH-16582

Hibernate 现在使用现有的 SQM 复制逻辑来处理实体多态,以保持与现有标准查询的行为一致。

批量加载

在先前的 6.2 版本中,批量加载功能已经多次得到改进。本次发布我们通过修复一些问题来继续稳定化它。

  • 在-clause 参数填充时没有考虑方言的 in 表达式计数限制,这可能导致数据库端出现错误(见 HHH-16589

  • 当启用批量时,通过 session.find() 方法请求的 LockModeType 被忽略(见 HHH-16820

本版本还包括更多改进和错误修复。您可以在此处找到更改的完整列表 here

结论

有关详细信息,请参阅

反馈、问题、想法?

要取得联系,请使用常规渠道


回到顶部