全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Hibernate5新特性介绍

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

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

新的引导API

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

5.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属性

命名策略分离

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

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

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

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

属性转换器支持

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

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

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

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

4. 整合了hibernate-envers 

5. 集合数值,映射键值 

6. 现在能够有效处理null值 

7. 支持参数化类型的转换

更好的 “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新特性介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# hibernate5新特性  # Hibernate实现悲观锁和乐观锁代码介绍  # 详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)  # 分布式Hibernate search详解  # 是一个  # 在此  # 后端  # 涉及到  # 小编  # 自己的  # 都是  # 数年  # 整型  # 对此  # 更好地  # 出了  # 不需要  # 还能  # 已被  # 适用于  # 这也  # 要注意  # 给大家  # 使其 


相关文章: 如何在万网自助建站平台快速创建网站?  广州商城建站系统开发成本与周期如何控制?  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何高效配置香港服务器实现快速建站?  网站制作需要会哪些技术,建立一个网站要花费多少?  ,交易猫的商品怎么发布到网站上去?  如何快速生成橙子建站落地页链接?  如何在建站之星绑定自定义域名?  如何快速搭建二级域名独立网站?  制作门户网站的参考文献在哪,小说网站怎么建立?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Python路径拼接规范_跨平台处理说明【指导】  如何解决VPS建站LNMP环境配置常见问题?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何通过多用户协作模板快速搭建高效企业网站?  高防服务器如何保障网站安全无虞?  建站之星后台管理:高效配置与模板优化提升用户体验  如何在云主机上快速搭建多站点网站?  济南企业网站制作公司,济南社保单位网上缴费步骤?  临沂网站制作企业,临沂第三中学官方网站?  全景视频制作网站有哪些,全景图怎么做成网页?  南平网站制作公司,2025年南平市事业单位报名时间?  江苏网站制作公司有哪些,江苏书法考级官方网站?  如何用狗爹虚拟主机快速搭建网站?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  建站之星ASP如何实现CMS高效搭建与安全管理?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在Windows虚拟主机上快速搭建网站?  网站制作壁纸教程视频,电脑壁纸网站?  如何用AWS免费套餐快速搭建高效网站?  建站之星导航菜单设置与功能模块配置全攻略  如何通过云梦建站系统实现SEO快速优化?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  黑客如何利用漏洞与弱口令入侵网站服务器?  建站之星如何开启自定义404页面避免用户流失?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  c# await 一个已经完成的Task会发生什么  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  C#如何在一个XML文件中查找并替换文本内容  建站之星展会模版如何一键下载生成?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  用v-html解决Vue.js渲染中html标签不被解析的问题  如何快速搭建安全的FTP站点?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  建站之星备案流程有哪些注意事项?  常州自助建站工具推荐:低成本搭建与模板选择技巧 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。