Hibernate3主键生成策略

Posted 码上加油站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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位的值插入

 

 

以上是关于Hibernate3主键生成策略的主要内容,如果未能解决你的问题,请参考以下文章

es mapping 怎么指定主键生成策略

主键生成策略---- Hibernate框架学习

主键生成策略

Hibernate主键生成策略

主键生成策略

三大框架 之 Hibernate生成策略与缓存策略(主键生成策略持久化持久化类划分一级缓存事物管理)