Hibernate ORM 6.0 的第二个Beta版本已发布。
在这个版本中做了很多工作,但总的来说——
自定义复合类型
在支持自定义复合类型(以前称为 CompositeUserType
)方面已经做了初步工作。在这个第一次迭代中,我们引入了 org.hibernate.metamodel.EmbeddableInstantiator
以允许集成自定义策略来实例化复合(嵌入式)类型。
更好的是,EmbeddableInstantiator
添加了执行构造函数注入的能力!
请参阅用户指南中的新文档部分,了解如何提供自定义实例化器。
我们选择从实例化开始,因为我们相信这涵盖了大多数自定义复合类型用例。在下一个版本或两个版本中,我们将添加更多方式来集成处理复合类型的其他映射方面。
非核心模块的工作
在 hibernate-envers
、hibernate-jcache
和 hibernate-spatial
模块上投入了大量工作。非常感谢 Karel Maesen、Chris Cranford 和 Chris Dennis 为此工作。
向最终版本迈进的状态
到目前为止,我们大约有 10,200 个 hibernate-core
测试运行成功,只有少数剩余失败需要解决——大约 100 个。这表明 6.0 版本正在完善功能。
我们最近开始测试 Jakarta EE TCK 中的持久化部分。很难准确了解我们在测试中的位置。这些测试需要几个小时才能运行,因此周转时间较慢。在接下来的几周里,我们将在这方面做更多工作,届时会有更好的了解。考虑到大多数 hibernate-core
测试套件已经恢复并通过,我预计那里不会有大的问题。
我们还与 Hibernate Search 合作,以获得与 ORM 6.0 兼容的版本。这项工作在过去几周中解决了几个问题。非常感谢 Yoann Rodiere 和 Fabio Massimo Ercoli 为此。
最后,我们一直在与WildFly团队合作,确保ORM 6.0将在即将到来的WildFly Jakarta EE版本中正常工作。感谢Scott Marlow为此付出的努力。