美文网首页
Hibernate主键生成方式

Hibernate主键生成方式

作者: 谁踩过枯枝轻响 | 来源:发表于2018-07-02 13:59 被阅读0次

一、常用方式

1.常用方式——sequence

-sequence是采用序列方式生成主键,适用于Oracle数据库。

-其配置语法为

<generator class="sequence">

       <param name="sequence">序列名</param>

</generator>

2.常用方式——identity

-identity是采用数据库自增长机制生成主键,适用于Oracle之外的其他数据库。

-其配置语法为:

<generator class="identity"></generator>

3.常用方式——native

-native是根据当前配置的数据库方言,自动选择sequence或者identity。

-其配置语法为

<generator class="native">

     <param name="sequence">序列名</param>

</generator>

二、其他方式

1.其他方式——increment

-increment不是采用数据库自身的机制来生成主键,而是Hibernate提供的一种生成主键的方式。它会获取当前表中主键的最大值,然后加1作为新的主键。

其配置语法为

<generator class="increment">

</generator>

-注意

这种方式在并必量高时存在问题,可能会生成重复的主键,因此不推荐使用。

2.其他方式——assigned

-assigned是Hibernate不负责生成主键,需要程序员自己处理主键的生成。

-其配置语法为

<generator class="assigned"></generator>

3.其他方式——uuid/hilo

-uuid/hilo是采用uuid或hilo算法生成一个主键值,这个主键值是一个不规则的长数字。

-其配置语法为

<generator class="uuid"></generator>

注意

这种方式生成的主键可以保证不重复,但是没有规律,因此不能按主键排序。

相关文章

  • HIbernate以及HQL

    主键生成策略: increment 由Hibernate自动以递增方式生成; identity 由底层数据库生...

  • Hibernate主键生成方式

    一、常用方式 1.常用方式——sequence -sequence是采用序列方式生成主键,适用于Oracle数据库...

  • Day10:

    1、实体映射 实体类 <--> 数据表@GeneratedValue:主键生成方式为自增,Hibernate自动生...

  • ihbernate详解(六)常见的映射元素

    increment标识符生成器 标识符生成器由hibernate以递增的方式为代理主键赋值 适用范围: 由于inc...

  • Hibernate主键生成策略

    转载:http://www.cnblogs.com/godwhisper/p/6765635.html

  • Hibernate主键生成策略

    Increment :代理主键适合于所有数据库,由hibernate维护主键自增,和底层数据库无关,但是不适合于2...

  • Spring Data JPA知识 day02

    一、JPA中的主键生成策略 通过annotation(注解)来映射hibernate实体的,基于annotat...

  • Hibernate 的主键生成策略

    Hibernate 是一个 ORM 框架,它的核心作用就是建立内存中的 Java 对象和数据库表中的记录的对应关系...

  • Hibernate框架主键生成策略

    之前在用Hibernate框架写东西的时候,经常会去写映射文件hbm.xml。但是对于主键id的一个generat...

  • Hibernate_day02

    一、hibernate中的实体规则: 1.实体类创建的注意事项 2.主键类型 3.主键生成策略 二、hiberna...

网友评论

      本文标题:Hibernate主键生成方式

      本文链接:https://www.haomeiwen.com/subject/iqxluftx.html