iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Hibernate5新特性介绍
  • 557
分享到

Hibernate5新特性介绍

hibernate5新特性te 2023-05-31 03:05:14 557人浏览 独家记忆
摘要

在hibernate5中,有了一些新的变动:   新引导 api Spatial/GIS 支持 Java 8 支持 扩展 AUTO id 生成支持 =

在hibernate5中,有了一些新的变动:

  •   新引导 api
  • Spatial/GIS 支持
  • Java 8 支持
  • 扩展 AUTO id 生成支持
  • 命名策略分离
  • 属性转换器支持
  • 更好的 “bulk id table” 支持
  • 事务管理
  • 模式工具
  • Session API类化
  • 改进 OSGi 支持
  • 改进 bytecode 增强功能

新的引导API

用来引导Hibernate(建立一个SessionFactory)的经典方式一直都是利用Configuration配置类。从hibernate的古老版本到现在,它一直支持用户按任意的顺序添加新的配置和关系映射,并允许我们在程序运行过程中查询获取相应的状态和映射信息。但这也意味着我们不能根据一些实时配置高效地建立映射信息。这导致许多限制和问题。 

0引入了一个新的引导API旨在减轻这些限制和问题,同时允许我们更好的完成整合工作。想要连接更多关于新的引导API配置指南可到hibernate 官网的User Guide部分 

在一定的限制上,Configuration配置方法仍然可以使用,不过它的一些方法已被删除。在新的引导API底层实现部分,Configuration类仍大有作用.

Spatial/GIS 支持

Hibernate Spatial是一个已经存在了数年的项目.Karel Maesen对此做出了卓越贡献. 

从hibernate5.0开始Hibernate Spatial已经是Hibernate项目的一部分,来使其跟上发展的主流,如果你的项目需要使用到GIS数据,我们高度推荐你尝试使用hibernate-spatial

支持Java 8

虽然并非完全支持,更准确来说,hibernate5.0增加了对Java 8 Date 和Time API的支持,以使我们能够更轻松地完成我们的实体映射类的配置属性到数据库的支持.这种支持通过使用专用利器 hibernate-java8来隔离java8的依赖性.有关更多信息,请参阅hibernate官方API Domain Model Mapping Guide中的Basic Types章节

扩展 AUTO id 生成支持

JPA定义的GenerationType.AUTO属性仅支持数字类型.从5.0开始,hibernate高度扩展并支持更广泛的类型,包括内置支持数字类型(如整型(Integer)\长整型(Long))和UUID.通过新的拓展类org.hibernate.boot.model.IdGeneratorStrategyInterpreter,用户还能自由地定制自己的策略来使用GenerationType.AUTO属性

命名策略分离

为了支持更好地接口设计,命名策略被分离成两个主要部分: 

org.hibernate.boot.model.naming.ImplicitNamingStrategy:使用此属性当 

我们使用的表或列没有明确指定一个使用的名称 

org.hibernate.boot.model.naming.PhysicalNamingStrategy:用于转换“逻辑名称”(隐式或显式)的表或列成一个物理名称

属性转换器支持

hibernate 5.0 极大地改进了对JPA2.1属性转换器的支持: 

充分地支持非@Enumerated注解的枚举值的使用 

适用于与@Nationalized结合使用的支持 

可以在hbm.xml文件中通过使用下列格式设置type="converter:fully.qualified.AttributeConverterName" 

整合了hibernate-envers 

集合数值,映射键值 

现在能够有效处理null值 

支持参数化类型的转换

更好的 “bulk id table” 支持

对于bulk id table的支持已经被重新设计以更好地适配不同数据库的支持

事务管理

事务SPI也完成了主要的重构设计作为hibernate5.0更新的一部分.从用户的角度来看,这些一般只在涉及到配置部分时才会有所接触,此前应用程序直接将与不同的后端事务策略通过org.hibernate.Transaction有效工作.在5.0中,一定程度地支持已经添加进来,org.hibernate.Transaction的API实现,现在是永远不变的。在后端,该org.hibernate.Transaction IMPL会涉及到org.hibernate.resource.transaction.TransactionCoordinator它代表了“事务上下文”根据后端事务策略给定的会话。用户一般不需要关心的区别。 

在此我们要注意这种变化,它可能会影响到我们的引导配置.以前的应用我们指定hibernate.transaction.factory_class并且指向了org.hibernate.engine.transaction.spi.TransactionFactory FQN.在hibernate5.0中,新约定是org.hibernate.resource.transaction.TransactionCoordinatorBuilder以及特定使用 hibernate.transaction.coordinator_class setting.关于更多细节,请查看JAVADocs中的org.hibernate.cfg.AvailableSettings.TRANSACTION_COORDINATOR_STRATEGY 

下面的短名被识别为: 

jdbc::(默认值)表示使用基于JDBC的事务(org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl) 

jta::says示使用基于JTA的事务 (org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl) 

请参阅用户手册了解更多详细信息。

模式工具链

hibernate5.0对于模式工具链提供了大量的支持(比如导出\验证\导入等)

Session API类化

Hibernate的大量内置API,比如(Session等),全部省级成类,不用再进行复杂的类型转化

改进 OSGi 支持

这始于一个不满的脆弱性hibernate-osgi测试.第一部分是一个使用了Pax Exam 和 Karaf的更好的测试启动.这会导致我们生成一个hibernate Karaf风格的文件 

OSGi支持经过了很多改善,这需要归功了来自Karaf和Pax开发者和用户的支持

改进 bytecode 增强功能

在hibernate5.0的文档中已经对此进行了很多工作,但它仍有很大的提升空间

总结

以上所述是小编给大家介绍的Hibernate5新特性介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

--结束END--

本文标题: Hibernate5新特性介绍

本文链接: https://www.lsjlt.com/news/223380.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Hibernate5新特性介绍
    在hibernate5中,有了一些新的变动:   新引导 API Spatial/GIS 支持 Java 8 支持 扩展 AUTO id 生成支持 =...
    99+
    2023-05-31
    hibernate5 新特性 te
  • React18新增特性介绍
    React 18 最新的特性批处理文件在同一个 函数中, 调用多次 useState 也只是会更新一次 function App() { const [count, setCou...
    99+
    2024-04-02
  • Redis6的新特性介绍
    本篇内容介绍了“Redis6的新特性介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 前言Redis 6 主要的变化有:SSL、...
    99+
    2023-06-15
  • ECMAscript新特性对象介绍
    目录1.对象的属性 1.1属性表示法 2.计算属性名 3.Object 的方法 3.1Object.is() 方法 3.2Object.assign()方法 4.super 关键字 ...
    99+
    2024-04-02
  • ECMAscrip新特性函数介绍
    目录1.函数参数的默认值 1.1函数参数指定默认值 1.2与解耦赋值配合使用 1.3函数参数的作用域 2.rest参数 3.箭头函数 3.1什么是箭头函数 3.2箭头函数的注意事项 ...
    99+
    2024-04-02
  • GoGORM版本2.0新特性介绍
    目录前言新版本的特性Context 支持批量插入预编译模式Joins 预加载Find to MapCreate From Map事务嵌套前言 公元2021年3月30日,坊间流传PHP...
    99+
    2024-04-02
  • AnalyticDB for PostgreSQL 6.0 新特性介绍
    阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务ACID。ADB PG通过行存储、列存储...
    99+
    2023-06-03
  • MySQL5.6版本的新特性介绍
    MySQL 在 5.6 版本中显著提高了它的性能和可用性、集成度、查询性能,可支持下一代 Web、嵌入式和云计算应用程序。它具备有以下特性: · 新增! 在线 DDL /更改数据架构支持动态应用程序和开发人...
    99+
    2024-04-02
  • Java 17的一些新特性介绍
    目录前言Java 17中的Sealed 密封类Java 17提供了更好的随机生成器Java对增强安全性的关注Pattern Matching For Switch预览前言 Java1...
    99+
    2024-04-02
  • MySQL8.0.11版本的新增特性介绍
     MySQL 8.0 for Windows v8.0.11 官方免费正式版 64位 一、 数据字典(Data dictionary) 1)合并了存储数据库对象信息的事务性数据字典;之前版本是存储...
    99+
    2024-04-02
  • SQL Server新特性SequenceNumber用法介绍
    简介 SequenceNumber是SQL Server2012推出的一个新特性。这个特性允许数据库级别的序列号在多表或多列之间共享。对于某些场景会非常有用,比如,你需要在多个表之间...
    99+
    2024-04-02
  • jdk1.5、1.6、1.7新特性详细介绍
    JDK 1.5(也称为Java 5)的新特性包括:1. 泛型:引入了泛型,使得可以在编译时检查和强制类型安全的容器对象。2. 自动装...
    99+
    2023-08-25
    jdk
  • CSS新特性contain的详细介绍
    本篇内容主要讲解“CSS新特性contain的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS新特性contain的详细介绍”吧!contain 为...
    99+
    2024-04-02
  • Python3.8 特性介绍
    简介 海象表达式 := 仅位置参数 / f-strings 说明符 = 启动异步 REPL unittest 支持异步 简介 Python3.8 已经发布了, 官方文档看这里What’s New In Python 3.8. 介绍一些...
    99+
    2023-01-31
    特性
  • Laravel 10 正式发布(新特性介绍)
    Laravel 10现已发布,包括最低要求的PHP v8.1版本、新的Laravel Pennant软件包、可调用的验证规则、本地类型声明等等。Laravel发布计划在Laravel 9之前,主要的框架版本每年发布两次,或者大约每六个月发布...
    99+
    2023-03-06
    Laravel 10 Laravel10 Laravel升级
  • PHP8简要介绍:新特性和应用
    PHP8的新特性和用途简介 近年来,PHP语言一直在持续发展和更新,为了满足不断变化的开发需求和提高效率,PHP8版本带来了一系列令人期待的新特性。本文将对PHP8的新特性进行简要介绍,并给出相应的代码示例,以帮助读者更好地了解...
    99+
    2024-01-13
  • JSES新特性扩展运算符介绍
    一、扩展运算符 扩展运算符是三个点... , 允许将一个表达式原地展开,当需要多个参数(比如函数的调用时) 或者多个值(比如数组)它会将其转为用逗号分隔的参数序列。 示例代码如下所...
    99+
    2024-04-02
  • MySQL5.7新版本的运维,性能和新特性介绍
    运维 在线启停GTID 在线配置Replication Filter,无需重启 Change Master到另外一个主库无需停止apply线程 Change Master修改一些日志apply属性(例如ma...
    99+
    2024-04-02
  • Java 8 新特性之Optional详细介绍
    Java Optional是Java 8引入的一个类,用于处理可能为空(null)的值,以提供更安全和优雅的方式来处理这些情况。它旨在帮助开发人员编写健壮、可读性强的代码,并减少空指针异常的发生。 Java Optional提供了以下重要特...
    99+
    2023-09-26
    java 开发语言
  • win10预览版10074有哪些新特性 win10build10074新特性视频介绍
     有不少朋友对这个win10build10074版本还不熟悉吧,win10build10074新特性有哪些今天小编就为大家带来了win10build10074新特性视频介绍,一起通过视频介绍来了解下。   今天,原计划...
    99+
    2023-06-14
    win10预览版10074 win10 预览 视频 特性
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作