【Hibernate】主键生成策略图示

来源:互联网 发布:c语言标识符由什么组成 编辑:程序博客网 时间:2024/05/01 21:03

Hibernate主键生成策略图示

identity

采用数据库生成的主键,用于为longshortint类型生成唯一标识, Oracle 不支持自增字段.

<id name="id" column="id" type="long">

    <generator class="identity" />

</id>

sequence

 

 

DB2Oracle均支持的序列,用于为longshortint生成唯一标识。

需要oracle创建sequence

<id name="id" column="id" type="long">

   <generator class="sequence">

       <param name="sequence">seq_name</param>

   </generator>

</id>

native

 

 

根据底层数据库的能力,从identitysequencehilo中选择一个,灵活性更强。

<id name="id" column="id">

    <generator class="native" />

</id>

increment

个是由Hibernate在内存中生成主键,每次增量为1,不依赖于底层的数据库,因此所有的数据库都可以使用

<id name="id" column="id">

    <generator class="increment" />

</id>

uuid.hex

 

使用一个128-bitUUID算法生成字符串类型的标识符

<id name="id" column="id">

    <generator class="uuid.hex" />

</id>

uuid.string

hibernate会算出一个16位的值插入

 

 


原创粉丝点击