框架提供了三種主鍵生成方式,一種是由使用者自己維護,一種是由hibernate
框架維護,另一種是由資料庫維護。
自己維護就是在插入資料的時候,一定要指定主鍵的值,否則會出錯,如果由框架維護和由資料庫維護,則主鍵的值不需要我們給,它們自動會給我們填上。
主鍵的生成方式在對應的.hbm.xml檔案中主鍵欄位id標籤中指定。
assigened:表示由使用者自己維護,在插入資料的時候,一定要給定主鍵值。
控制台列印出來的建立語句如下:
create table t_user (native:表示由資料庫自動生成主鍵。usercode varchar(32) not nullauto_increment,
userpswd varchar(20) not null,
username varchar(255),
regdate varchar(19),
orgtype varchar(1),
primary key (usercode)
)
注意:主鍵型別不能是字串型別,一般是int型別的
uuid:框架為我們維護主鍵
create table t_user (自動插入的是32位十六制數組成的字串形式usercode varchar(32) not null,
userpswd varchar(20) not null,
username varchar(255),
regdate varchar(19),
orgtype varchar(1),
primary key (usercode)
)
這三種主鍵生成策略常用的是uuid,根據硬體資訊和時間資訊等生成的。另外native不建議使用,原因是資料庫主鍵設計應該採用與業務無關的字段作為主鍵。
Hibernate 主鍵策略
hibernate主鍵生成策略 1 自動增長identity 適用於mysql db2 ms sql server,採用資料庫生成的主鍵,用於為long short int型別生成唯一標識 使用sql server 和 mysql 的自增欄位,這個方法不能放到 oracle 中,oracle 不支援...
hibernate的主鍵生成策略 2
hibernate的主鍵生成器 generator元素 表示了乙個主鍵生成器,它用來為持久化類例項生成唯一的標識 1.1 程式設計師自己控制 assigned 1.2 資料庫控制 mysql identity 標識列 自動增長 oracle sequence 1.3 hibernate控制 incr...
Hibernate (2)增刪改查
案例名稱 hibernate完成增刪改查 案例描述 抽取出工具類並完成刪除 修改 查詢功能。具體過程 1 使用上面的例子 hibernate 1 hibernate入門 2 新建hibernateutils 用於封裝建立session的方法。package com.xsyu.tts.util imp...