Hibernate ORM 5 中有哪些新增功能?

2022-08-31 19:53:07

我刚刚看到第4位候选人因Hibernate 5而发布。与早期版本相比,5 中有哪些新功能?


答案 1

在Hibernate 5.x中添加/增强了一些令人兴奋的功能。快速浏览一下。

1. 休眠搜索

休眠搜索可透明地为您的对象编制索引,并提供快速的常规、全文和地理位置搜索。易用性和易于群集是核心。

  • 实体的全文搜索 - 按近似查找(模糊搜索)
  • 群集友好型 - 提供多种易于设置的群集策略
  • 分面和地理位置 - 地理定位实体就像@Spatial一样简单

有关休眠搜索的更多详细信息,请查看此内容。

2. 休眠验证器

Hibernate Validator附带了一些内置的验证规则,如电子邮件,长度,NotBlank等。

使用基于注释的约束以标准化方式表达验证规则,并从与各种框架的透明集成中受益。

有关休眠验证器的更多详细信息,请查看此内容。

3. 改进的 Java 8 支持

支持 Java 8 日期/时间数据类型 (JSR 310),可以通过@Past和@Future进行验证。此外,通过改进的 ValidatedValueUnwrapper 支持 Optional 和 JavaFX 类型。

4. 冬眠 OGM

刚刚发布了第一个稳定版本。

5. 引导接口

新的引导 API - 更好的确定性,更好的集成


其他一些事情:

  • 对非 JPA 用法的扫描支持
  • 命名策略已被删除,取而代之的是设计更好的API
  • 能够处理标记为 GenerationType#AUTO 的 id 属性的其他 Java 类型。内置对 Number 和 UUID 的支持。可通过 new org.hibernate.boot.model.IdGeneratorStrategyInterpreter extension 进行扩展。
  • 此外,对属性转换器的支持已扩展并更全面地实现

查看 Hibernate ORM 路线图,了解更多详情。


答案 2

在Hibernate 5中有一长串已经更改的内容:

  1. 一个新的引导API,因此我们可以以编程方式引导JPA环境,而无需持久性.xml文件

  2. 从 5.0 Hibernate Spatial 开始,它是 Hibernate 项目的一部分,因此我们也可以处理 GIS 数据。

  3. 域模型映射中支持 Java 8 日期和时间类型。标准 SQL 日期/时间类型和受支持的 Java 8 日期/时间类类型之间的映射如下所示;

    • 日期:java.time.LocalDate
    • 时间:java.time.LocalTimejava.time.OffsetTime
    • 时间戳:、和java.time.Instantjava.time.LocalDateTimejava.time.OffsetDateTimejava.time.ZonedDateTime
  4. 字节码增强机制从头开始重新设计,Hibernate同时具有Maven和Gradle插件。我们可以通过字节码检测增强三个主要方面:

    • 延迟初始化:字段可以声明为,并且只有在首次访问时才会被提取。LAZY

    • 脏检查:实体已得到增强,以便它们可以跟踪在持久性上下文中加载后更改的所有属性。

    • 双向关联:即使开发人员只更新一个侧,也可以自动同步双向关联的两端。

  5. Hibernate的本机API(等)已更新为使用泛型类型。获取实体时无需强制转换。Session

  6. Hibernate 5.0 将其扩展到更广泛的类型集(例如 )。UUID

  7. 通过引用进行二级缓存。此功能允许将实体引用直接存储到不可变实体的第二级缓存中。

  8. 从Hibernate 5.0开始,我们有一个从头开始编写的全新用户指南

休眠 5.1 添加了以下功能:

  1. 您现在可以在 JPQL 和 HQL 查询中联接不相关的实体
  2. 通过识别器进行多实体加载

Hibernate 5.2 增加了对以下各项的支持:

  1. Java 1.8,所以你现在可以使用Query.stream()
  2. 休眠扩展,因此您可以直接从SessionEntityManagerSession
  3. 对 JCache 的支持
  4. 会话级批大小
  5. 时间戳和时间的全局区设置(例如 UTC)
  6. 独特的直通提示
  7. 更高效的 JPQL 和 HQL 常量值解析
  8. hibernate.connection.provider_disables_autocommit资源本地事务优化
  9. 更好地处理条件 API 文本

推荐