国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Hibernate 常用的標識生成器

2019-11-06 06:24:06
字體:
來源:轉載
供稿:網友

在配置Hibernate映射配置文件中遇到如下情況:

<hibernate-mapping package="com.hibernate.www"> <class name="User" table="t_user"> <id name="id" type="int" column="u_id"> <generator class="native"> </id> ......... </class></hibernate-mapping>

對第四行的代碼不是很理解 后來查了點資料如下: Hibernate區分不同的持久化對象是依靠對象標識符(OID)來實現,而對象標識符則可以通過Hibernate內置的標識生成器來產生。(說白了就是Hibernate區分對象需要唯一的対像標識符,這個可以選用內置的對象生成器生成)

assigned:OID是由業務邏輯程序產生,Hibernate只負責持久化,常用于映射自然主鍵。hilo:OID有Hibernate按照high/low算法產生,該算法需要從數據庫的某個表的字段值讀取high值。increment:OID由Hibernate按遞增方式產生,該算法依賴保存于當前實例中的一個最大值變量。identidy:OID由底層數據庫的自增主鍵生成機制產生,如MySQL中的auto_increment類型主鍵與SQL Server的identity類型主鍵。sequence:OID由底層數據庫的sequence主鍵生成機制產生,如Oracel sequence。

native:根據底層數據庫對OID的支持,具體選擇identity、sequence、hilo生成器來產生OID,常用于跨平臺應用。

在選用這些Hibernate內置的表示生成器時,應根據所選用的數據庫產品而定。如果數據庫為MySQL或SQL Server則優先考慮identity生成器,如果是Oracle則考慮sequence。如果是提高跨平臺性,則選用native生成器。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵阳市| 百色市| 白朗县| 尼勒克县| 布尔津县| 邵阳市| 盈江县| 密山市| 深圳市| 类乌齐县| 凤山市| 华亭县| 平昌县| 梓潼县| 安乡县| 陵水| 大邑县| 商丘市| 江华| 洞头县| 昌平区| 贵德县| 博乐市| 静安区| 锦州市| 平果县| 溆浦县| 黎川县| 保靖县| 桐柏县| 泰和县| 邛崃市| 娄烦县| 汉沽区| 文登市| 金昌市| 高邑县| 葵青区| 和林格尔县| 平塘县| 奇台县|