成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

常用Hibernate主鍵生成策略

開發 后端
采用hibernate主鍵生成策略,就可以比較靈活和方便的對表中的主鍵字段進行操作了。而且,不同的數據庫,不同的主鍵形式,也只需要修改下映射文件就可以了。

今天學習到了關于Hibernate主鍵生成策略的問題,總結下,不足之處,請大家指出。

Hibernate為優秀的持久層框架的代表。在傳統的JDBC+JavaBean操作中,實體對象都由程序員自己去封裝,然后返回。而在Hibernate中,采用對象關系映射『ORM』,大大簡化了對數據庫的操作.

在數據庫的設計和操作中,我們通常會給表建立主鍵。主鍵,可以分為自然主鍵和代理主鍵。

自然主鍵表示:采用具有業務邏輯含義的字段作為表的主鍵。比如在用戶信息表中,采用用戶的身份證號碼作為主鍵。但是這樣一來,隨著業務邏輯的變化,主鍵就有可能要更改。比如,假設哪天身份證號碼升級成19,2位,那。。。。。。。

代理主鍵:在表中人為的增加一個字段,該字段并沒有表示任何的業務邏輯,僅僅用來標識一行數據。比如說在用戶信息表中,增加一個用戶ID的字段。用來表示該條用戶信息的記錄。

通常情況下,用的比較多的是代理主鍵的形式。而且,我們習慣于于讓該主鍵字段能夠自動增長,來保證其唯一性。但是,不同的數據庫自動增長的方式并不是相同的。如在SQLSERVER中,用identity,MYSQL中,有increment,ORACLE中通常采用sequence。這樣一來,在數據庫的主鍵列操作上,便會顯得比較麻煩。

但是在Hibernate中,提供了Hibernate主鍵生成策略。下面是比較常用的幾種:

1:assigned

表示在新增數據時由應用程序指定主鍵的值。主要針對主鍵是采用自然主鍵的形式。這種方式,適用于主鍵列不是自動增長列。

其缺點為在執行新增操作時,需查詢數據庫判斷生成的主鍵是否已經存在。

2:increment

表示新增數據操作時由hibernate自動生成主鍵值。其生成的值為:先查詢該主鍵列的最大值,然后在最大值的基礎上加上1.適用于采用代理主鍵形式的主鍵列。同樣不能用于主鍵列是自動增長的表。但是,該主鍵生成策略也有些缺點。

(1)新增數據前先查詢一遍,影響了性能。
(2)主鍵的類型只能為數值型的int或者long
(3)并發操作時的沖突問題。

3:identity

不如說是為sqlerver數據庫量身定做的。主要適用于sqlserver數據庫的自動增長列的表。

4:native

表示根據不同的數據庫采用不同的Hibernate主鍵生成策略。比如,當前數據庫為sqlserver,則會采用identity,如為oracle,則采用

oracle中的sequence等。區分數據庫的不同是以hibernate主配置文件中sessionFactory中配置的數據庫方言。

Xml代碼

  1. <id name="實體類屬性名" type="java.lang.Integer">    
  2.       <column name="對應表中主鍵字段名" />    
  3.       <generator class="assiged|increment|identity|native|........" />    
  4. </id>   

采用hibernate主鍵生成策略,就可以比較靈活和方便的對表中的主鍵字段進行操作了。而且,不同的數據庫,不同的主鍵形式,也只需要修改下映射文件就可以了。

【編輯推薦】

  1. 十分種學會Hibernate數據記錄技術
  2. 理解Hibernate集合性能技術
  3. 深入了解Hibernate自動狀態檢測
  4. 教你如何在Hibernate中實例化集合和代理
  5. Hibernate動態模型(Dynamic models)詳解
責任編輯:仲衡 來源: javaeye
相關推薦

2009-09-28 10:52:33

Hibernate主鍵主鍵生成

2009-09-22 09:31:15

Hibernate主鍵

2009-06-29 08:56:49

Hibernate主鍵生成主鍵

2009-06-25 17:24:06

Hibernate主鍵

2009-06-29 08:50:20

Hibernate主鍵

2009-09-24 10:50:31

Hibernate主鍵

2009-09-23 14:23:51

Hibernate主鍵

2012-02-03 10:07:04

HibernateJava

2017-07-19 16:25:07

數據庫開發DB分庫主鍵生成策略

2009-09-24 13:49:31

Hibernate自增

2012-05-14 17:21:19

ibmdw

2009-09-25 15:15:54

Hibernate檢索

2009-06-26 16:27:10

Hibernate創建

2009-09-25 14:20:28

Hibernate繼承映射

2009-09-24 14:28:23

Hibernate抓取

2009-06-01 12:11:31

hibernatejpa復合主鍵

2009-06-26 10:12:00

Hibernate自動

2009-07-16 11:21:19

ibatis主鍵自動生成

2009-06-18 11:25:26

Hibernate L

2009-09-23 17:32:07

Hibernate S
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品在线播放 | 欧美国产日韩精品 | 成人午夜免费福利视频 | 欧美日韩高清免费 | 欧美久久一区二区三区 | 久久国内精品 | 欧美日批 | www.色.com | 九九热这里只有精品在线观看 | 精品欧美一区二区三区久久久 | 国产成人av一区二区三区 | 91在线视频播放 | 亚洲免费人成在线视频观看 | 欧美亚洲综合久久 | 国产精品日韩 | 一区网站| 久久在线精品 | 欧美精品一区二区三区在线播放 | 人人玩人人干 | 精品日韩一区二区 | 国产精品久久久久久亚洲调教 | 日韩毛片中文字幕 | 欧美中文字幕在线观看 | 欧美激情综合 | 国产精品不卡一区 | 天天操操| 国产h视频| 日本不卡在线观看 | 日韩和的一区二在线 | 国产xxxx岁13xxxxhd | 精品九九在线 | 国产精品一区二区在线播放 | 在线观看不卡av | 国产精品久久久久久久久久免费看 | 欧美日韩国产中文 | 欧美极品在线观看 | 男女爱爱福利视频 | 久久免费精品视频 | 欧美日韩一卡二卡 | 欧美三级在线 | 日韩五月天 |