我们刚刚发布了 Hibernate Search 的新候选版本:7.0.0.CR1。
本版本特别增加了与 Hibernate ORM 基于区分符的多租户的兼容性,与 Elasticsearch 8.10 和 OpenSearch 2.10/2.11 的兼容性,Hibernate ORM 6.3.1.Final 的升级,Lucene 9.8 的升级,一些 Maven 软件包重命名,以及其他错误修复和改进。
新功能
有关自 6.2 版以来的所有新功能和改进的总结,请访问 hibernate.org 上的专用页面。 |
依赖项升级
- JDK 11(提醒)
-
Hibernate Search 现在需要 Java 11 作为基础,不再与 Java 8 兼容。
- 切换到 Jakarta EE(提醒)
-
Hibernate Search 已完全切换到 Jakarta EE,不再与 Java EE 兼容。所有以前的系列中的
-orm6
和-jakarta
软件包,它们提供了 Hibernate ORM 6 和 Jakarta EE 兼容性,现在都已不可用,因为这种兼容性现在由主要软件包提供。
- Hibernate ORM (HSEARCH-4959)
-
Hibernate Search 现在依赖于 Hibernate ORM 6.3.1.Final。
- Lucene (HSEARCH-4982)
-
Lucene 后端现在使用 Lucene 9.8。
- Elasticsearch (HSEARCH-4946)
-
Elasticsearch 后端与 Elasticsearch 8.10 以及其他已兼容的版本一起工作 — 以下版本不再兼容,因为它们已经达到了生命周期的结束
-
5.x/6.x(在 Hibernate Search 7.0.0.Beta1 中已取消兼容性)
-
7.0-7.9(在 HSEARCH-4934 中新取消兼容性)
-
- OpenSearch (HSEARCH-4978/HSEARCH-4993)
-
Elasticsearch后端支持与OpenSearch 2.10和2.11以及其他已兼容的版本一起工作 — 但不包括1.0、1.1和1.2版本,因为这些版本的兼容性已在HSEARCH-4934中删除,因为它们已经达到生命周期的终点。
- 其他
-
-
HSEARCH-4941/HSEARCH-4946/HSEARCH-4958/HSEARCH-4967/HSEARCH-4990/HSEARCH-4994:升级到Elasticsearch 客户端 8.10.4
-
HSEARCH-4957 升级到Jackson 2.15.2
-
HSEARCH-4984 升级到Avro 1.11.3
-
HSEARCH-4992 升级到AWS SDK 2.21.1
-
与Hibernate ORM基于discriminator的多租户兼容性
通过HSEARCH-4403,Hibernate Search现在可以索引利用数据库中基于discriminator的多租户(@TenantId
)的Hibernate ORM实体。
Maven工件重命名
一些Hibernate Search Maven工件已被重命名
-
HSEARCH-4940 与JSR-352工件相关的Maven工件已被重命名,以反映转移到Jakarta EE规范
-
hibernate-search-mapper-orm-batch-jsr352-core
已重命名为hibernate-search-mapper-orm-jakarta-batch-core
。 -
hibernate-search-mapper-orm-batch-jsr352-jberet
已重命名为hibernate-search-mapper-orm-jakarta-batch-jberet
。
-
-
HSEARCH-4928 工件
hibernate-search-mapper-orm-coordination-outbox-polling
已重命名为hibernate-search-mapper-orm-outbox-polling
。
其他改进和错误修复
-
HSEARCH-4938:不再支持正则表达式谓词中的补集运算符(
~
)。 -
HSEARCH-4947:Hibernate Search将不再在某些配置下在Windows上启动失败。
感谢Gábor Lipták 报告此问题并帮助测试修复!
-
HSEARCH-4487:Jakarta Batch Mass Indexing作业已被重新设计,以更接近地反映
MassIndexer
的行为。因此,它将不再在索引包含@IndexedEmbedded
的实体并使用MySQL以及将idFetchSize
设置为Integer.MIN_VALUE
时失败。感谢Ivan Kotev 报告此问题并帮助确定原因!
-
HSEARCH-4980:Hibernate Search将不再在Jakarta Batch Mass Indexing作业中尝试索引具有复合标识符的实体时失败。
-
HSEARCH-4969:修复了由于Lucene 9升级中的错误而引起的bug,其中
TextMultiValues
会触发IndexOutOfBoundsException
。 -
HSEARCH-4983:修复了Lucene后端中可能导致的潜在并发问题,这可能导致“`LockObtainFailedException`: 锁由此虚拟机持有”。
-
HSEARCH-4986:Jakarta Batch Mass Indexing作业将不再在某些JDBC驱动程序(DB2、MSSQL等)的分区映射阶段失败。
-
HSEARCH-4988:Hibernate Search将不再在启动时因映射自身类型的容器类型(如实现
Iterable<Path>
的java.nio.Path
)而引发StackOverflowError
。尝试在这些类型上使用默认容器提取将失败,并带有清晰的解释,并且禁用容器提取或以其他方式解决无限递归将按预期工作。
还有更多。有关自上次发布以来的完整更改列表,请参阅发布说明。
如何获取此版本
所有详细信息均可在hibernate.org的专用页面上找到,并保持最新。