Hibernate3主鍵生成策略
阿新 • • 發佈:2018-11-29
identity |
採用資料庫生成的主鍵,用於為long、short、int型別生成唯一標識, Oracle 不支援自增欄位. |
<id name="id" column="id" type="long"> <generator class="identity" /> </id> |
sequence
|
DB2、Oracle均支援的序列,用於為long、short或int生成唯一標識。 需要oracle建立sequence。 |
<id name="id" column="id" type="long"> <generator class="sequence"> <param name="sequence">seq_name</param> </generator> </id> |
native
|
根據底層資料庫的能力,從identity、sequence、hilo中選擇一個,靈活性更強。 |
<id name="id" column="id"> <generator class="native" /> </id> |
increment |
個是由Hibernate在記憶體中生成主鍵,每次增量為1,不依賴於底層的資料庫,因此所有的資料庫都可以使用 |
<id name="id" column="id"> <generator class="increment" /> </id> |
uuid.hex
|
使用一個128-bit的UUID演算法生成字串型別的識別符號 |
<id name="id" column="id"> <generator class="uuid.hex" /> </id> |
uuid.string |
hibernate會算出一個16位的值插入 |