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

 
原文地址:https://www.cnblogs.com/loaderman/p/10037064.html