hibernate5 1 新特性展示

2021-09-23 21:02:26 字數 1699 閱讀 1908

在hibernate5中,有了一些新的變動:

用來引導hibernate(建立乙個sessionfactory)的經典方式一直都是利用configuration配置類。從hibernate的古老版本到現在,它一直支援使用者按任意的順序新增新的配置和關係對映,並允許我們在程式執行過程中查詢獲取相應的狀態和對映資訊。但這也意味著我們不能根據一些實時配置高效地建立對映資訊。這導致許多限制和問題。

5.0引入了乙個新的引導api旨在減輕這些限制和問題,同時允許我們更好的完成整合工作。想要連線更多關於新的引導api配置指南可到hibernate 官網的user guide部分

在一定的限制上,configuration配置方法仍然可以使用,不過它的一些方法已被刪除。在新的引導api底層實現部分,configuration類仍大有作用.

hibernate spatial是乙個已經存在了數年的專案.karel maesen對此做出了卓越貢獻.

從hibernate5.0開始hibernate spatial已經是hibernate專案的一部分,來使其跟上發展的主流,如果你的專案需要使用到gis資料,我們高度推薦你嘗試使用hibernate-spatial

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的支援已經被重新設計以更好地適配不同資料庫的支援

hibernate5.0對於模式工具鏈提供了大量的支援(比如匯出\驗證\匯入等)

hibernate的大量內建api,比如(session等),全部省級成類,不用再進行複雜的型別轉化

這始於乙個不滿的脆弱性hibernate-osgi測試.第一部分是乙個使用了pax exam 和 karaf的更好的測試啟動.這會導致我們生成乙個hibernate karaf風格的檔案

osgi支援經過了很多改善,這需要歸功了來自karaf和pax開發者和使用者的支援

在hibernate5.0的文件中已經對此進行了很多任務作,但它仍有很大的提公升空間,更多資訊檢視

hibernate相關新入職

table 使用乙個特定的資料庫 來儲存主鍵。sequence 根據底層資料庫的序列來生成主鍵,條件是資料庫支援序列。identity 主鍵由資料庫自動生成 主要是自動增長型 auto 主鍵由程式控制。另外這個框架如果用hibernate註解開發表沒用主鍵的話會崩,而且還要設定主鍵的生成策略。inj...

萌新的51之旅

本人是微控制器學習的萌新一枚,學習微控制器等知識目的就是提公升自己專業方面的綜合的素質修養,我將會把自己的每次的學習的內容和心理歷程記錄下來,分享給大家的同時也加深自己的理解。眾所周知,微控制器的入門51是再好不過的選擇,對於我這種剛剛接觸微控制器的人來說,我覺得51微控制器還是十分容易接受的,首先...

Zend Framework V1 5 中的新特性

流行的開源軟體 zend framework 剛剛實現了一些出色的增強。本文介紹 v1.5 中的新特性以及如何公升級對 gdata web 服務的增強支援,包括zend form zend layout和zend view,並且,改進的 ajax 支援可以幫助 php 開發人員輕鬆地構建先進的 we...