Hibernate ORM 5 中有哪些新增功能?
我刚刚看到第4位候选人因Hibernate 5而发布。与早期版本相比,5 中有哪些新功能?
我刚刚看到第4位候选人因Hibernate 5而发布。与早期版本相比,5 中有哪些新功能?
在Hibernate 5.x中添加/增强了一些令人兴奋的功能。快速浏览一下。
休眠搜索可透明地为您的对象编制索引,并提供快速的常规、全文和地理位置搜索。易用性和易于群集是核心。
Hibernate Validator附带了一些内置的验证规则,如电子邮件,长度,NotBlank等。
使用基于注释的约束以标准化方式表达验证规则,并从与各种框架的透明集成中受益。
支持 Java 8 日期/时间数据类型 (JSR 310),可以通过@Past和@Future进行验证。此外,通过改进的 ValidatedValueUnwrapper 支持 Optional 和 JavaFX 类型。
刚刚发布了第一个稳定版本。
新的引导 API - 更好的确定性,更好的集成
其他一些事情:
查看 Hibernate ORM 路线图,了解更多详情。
在Hibernate 5中有一长串已经更改的内容:
一个新的引导API,因此我们可以以编程方式引导JPA环境,而无需持久性.xml
文件。
从 5.0 Hibernate Spatial 开始,它是 Hibernate 项目的一部分,因此我们也可以处理 GIS 数据。
域模型映射中支持 Java 8 日期和时间类型。标准 SQL 日期/时间类型和受支持的 Java 8 日期/时间类类型之间的映射如下所示;
java.time.LocalDate
java.time.LocalTime
java.time.OffsetTime
java.time.Instant
java.time.LocalDateTime
java.time.OffsetDateTime
java.time.ZonedDateTime
字节码增强机制从头开始重新设计,Hibernate同时具有Maven和Gradle插件。我们可以通过字节码检测增强三个主要方面:
延迟初始化:字段可以声明为,并且只有在首次访问时才会被提取。LAZY
脏检查:实体已得到增强,以便它们可以跟踪在持久性上下文中加载后更改的所有属性。
双向关联:即使开发人员只更新一个侧,也可以自动同步双向关联的两端。
Hibernate的本机API(等)已更新为使用泛型类型。获取实体时无需强制转换。Session
Hibernate 5.0 将其扩展到更广泛的类型集(例如 )。UUID
通过引用进行二级缓存。此功能允许将实体引用直接存储到不可变实体的第二级缓存中。
从Hibernate 5.0开始,我们有一个从头开始编写的全新用户指南。
休眠 5.1 添加了以下功能:
Hibernate 5.2 增加了对以下各项的支持:
Query.stream()
Session
EntityManager
Session
和时间
的全局时
区设置(例如 UTC)hibernate.connection.provider_disables_autocommit
资源本地事务优化。