hibernate主鍵生成器

2021-09-26 15:40:24 字數 2667 閱讀 6226

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 的賦值,一般應用在主鍵為自然主鍵時。例如...