hibernate的主鍵生成器:
generator元素:表示了乙個主鍵生成器,它用來為持久化類例項生成唯一的標識 。
uitl包裡:工具類
功能:1.簡化**
2.測試相關配置是否成功
package com.zking.two.util;
import org.hibernate.session;
import org.hibernate.sessionfactory;
import org.hibernate.cfg.configuration;
public class sessionfactoryutils
public static session opensession()
return session;
} public static void closesession()
} public static void main(string args)
}
package com.zking.two.entity;
public class student
public void setsid(integer sid)
public string getsname()
public void setsname(string sname)
@override
public string tostring()
}
學生實體類的對映配置檔案
<?xml version="1.0" encoding="utf-8"?>
工人的實體類
package com.zking.two.entity;
public class worker
public void setwid(string wid)
public string getwname()
public void setwname(string wname)
@override
public string tostring()
}
工人的實體類的對映配置檔案
<?xml version="1.0" encoding="utf-8"?>
1.1 程式設計師自己控制:assigned
資料型別不限、儲存前必須賦值
測試包生成
1.2 資料庫控制: identity(標識列/自動增長) sequence
1.3 hibernate控制:increment uuid/uuid.hex
1.4 其它:native
公司名_模組名_時間戳
student id int
worker id varchar
2. 主鍵生成器要求
2.1 assigned
資料型別不限、儲存前必須賦值
2.2 identity(重點掌握)
數字,無需賦值
2.3 sequence(重點掌握)
數字,無需賦值, 預設使hibernate_sequence這個序列,
也可以通過sequence/sequence_name引數賦值
2.4 increment
數字,無需賦值
2.5 uuid/uuid.hex (是由容器自動生成的乙個32位的字串,.hex代表的是十六進製制)
32位的字串,無需賦值,
2.6 native(重點掌握)
等於identity+sequence
自定義主鍵生成器
3.1 *.hbm.xml指定主鍵生成器類
3.2 建立主鍵生成器類
實現org.hibernate.id.identifiergenerator介面即可,並還可以實現org.hibernate.id.configurable介面來讀取一些配置資訊
persistentidentifiergenerator.table
persistentidentifiergenerator.pk
assigned、native、自定義主鍵
案例:myincrement/myt hibernate 主鍵生成器
hibernate的主鍵生成器 generator元素 表示了乙個主鍵生成器,它用來為持久化類例項生成唯一的標識 1.1 程式設計師自己控制 assigned 1.2 資料庫控制 identity 標識列 自動增長 sequence 1.3 hibernate控制 increment uuid uu...
Hibernate主鍵生成器說明
自然主鍵 具有業務意義的字段作為主鍵,例如學生表中用學號作為主鍵 主鍵 定義的 專門用來標記記錄的id 它除了用來標識記錄外,不具有 任何的業務意義 id 生成器名稱 說明 assigned 應用程式自身對id 賦值。當設定 時,應用程式自身需要負責主鍵id 的賦值,一般應用在主鍵為自然主鍵時。例如...
Hibernate主鍵生成器說明
自然主鍵 具有業務意義的字段作為主鍵,例如學生表中用學號作為主鍵 主鍵 定義的 專門用來標記記錄的id 它除了用來標識記錄外,不具有 任何的業務意義 id 生成器名稱 說明 assigned 應用程式自身對id 賦值。當設定 時,應用程式自身需要負責主鍵id 的賦值,一般應用在主鍵為自然主鍵時。例如...