一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Hibernate5新特性介紹

Hibernate5新特性介紹

2021-01-03 14:39動力節點 Java教程

hibernate5中有了一些新的變動,下面腳本之家小編把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新特性介紹,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.sina.com.cn/s/blog_9c6852670102wvqc.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国色天香视频完整版 | 欧美高清videosdesex0 | 免费视频左左视频 | 国产精品免费看久久久香蕉 | 小早川怜子息梦精在线播放 | 韩国一级淫片特黄特刺激 | 亚洲同性男男gay1069 | 国产福利兔女郎在线观看 | 青青国产成人久久激情91麻豆 | 丰满艳妇亲伦视频 | 69一级毛片 | 国产亚洲欧美成人久久片 | 欧美综合亚洲图片综合区 | 美女被网站 | 热久久天天拍天天拍热久久2018 | 99在线观看视频免费精品9 | a天堂在线视频 | ts人妖系列在线专区 | 亚洲国产精品久久网午夜小说 | 日本一在线中文字幕天堂 | 欧美高清在线不卡免费观看 | 91国语自产拍在线观看 | lilisha李丽莎喷水大胆在线 | 男人的视频网站 | 亚洲高清在线视频 | 精品视频一区二区 | 成人综合网址 | 狠狠涩| 男生的j桶女人屁免费视频 男生操男生 | 精品一区二区三区高清免费不卡 | free性丰满hd性欧美人体 | 水岛津实在线 | 国产福利片在线 易阳 | www.亚洲视频.com | 日产精品一二三四区国产 | 91看片在线观看 | 国产精品夜色视频一级区 | 欧美国产在线 | 欧美一级专区免费大片俄罗斯 | 色老板视频在线 | 久久嫩草影院网站 |