1. 程式人生 > >Hibernate3主鍵生成策略

Hibernate3主鍵生成策略

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位的值插入