“assigned”
 
主键由外部程序负责生成,在   save()   之前指定一个。  
   
 
“hilo”
 
通过hi/lo   算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源。   
   
 
“seqhilo”
 
与hilo   类似,通过hi/lo   算法实现的主键生成机制,需要数据库中的   Sequence,适用于支持   Sequence   的数据库,如Oracle。   
   
 
“increment”
 
主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生的问题是:不能在集群下使用。   
   
 
“identity”
 
采用数据库提供的主键生成机制。如DB2、SQL   Server、MySQL   中的主键生成机制。   
   
 
“sequence”
 
采用数据库提供的   sequence   机制生成主键。如   Oralce   中的Sequence。    
必须指定sequence的名字,如

<id name="logId" type="integer">
        <column name="LOG_ID" />
        <generator class="sequence" >
          <param name="sequence">ERROR_LOG_SEQ</param>
        </generator>
    </id>

“native”
 
由   Hibernate   根据使用的数据库自行判断采用   identity、hilo、sequence   其中一种作为主键生成方式。
 
   
 
“uuid.hex”
 
由   Hibernate   基于128   位   UUID   算法   生成16   进制数值(编码后以长度32   的字符串表示)作为主键。
 
 
“uuid.string”
 
与uuid.hex   类似,只是生成的主键未进行编码(长度16),不能应用在   PostgreSQL   数据库中。
   
 
“foreign”
 
使用另外一个相关联的对象的标识符作为主键。

<id>元素中的<generator>用来为该持久化类的实例生成唯一的标识,hibernate提供了很多内置的实现。

Increment:由hibernate自动递增生成标识符,用于为long, short或者int类型生成唯一标识。
identity :由底层数据库生成标识符(自动增长),返回的标识符是 long, short 或者int类型的。
sequence :hibernate根据底层数据库序列生成标识符,返回的标识符 是long, short或者 int类型的。

hilo     :使用一个高/低位算法来高效的生成long, short 或者int类型的标识符。
uuid.hex :用一个128-bit的UUID算法生成32位字符串类型的标识符。
native   :根据底层数据库的能力选择identity, sequence 或者hilo中的一个。
assigned :让应用程序在save()之前为对象分配一个标示符。
foreign :使用另外一个相关联的对象的标识符。和<one-to-one>联合一起使用

Hibernate generator相关推荐

  1. Hibernate generator小结

    "assigned"      主键由外部程序负责生成,在   save()   之前指定一个.               "hilo"      通过hi/ ...

  2. Hibernate的generator属性之意义【转】

    2019独角兽企业重金招聘Python工程师标准>>> Hibernate的generator属性之意义 本文讲述Hibernate的generator属性的意义.Generator ...

  3. Hibernate的主键生成器generator(zhuan)

    1.如果主键字段为自增类型, 那么对应的.hbm.xml文件中的id字段的xml声明, 应该这么写: <generator class="native" /> 例如: ...

  4. 【转】Hibernate的Generator属性有7种class,本文简略描述了这7种class的意义和用法。...

    转自:http://hi.baidu.com/zhang_zhu_1/item/5cfcf1a98b86e88a1410733b [转]Hibernate的Generator属性有7种class,本文 ...

  5. hibernate里的generator中class =value介绍

    在*.hbm.xml必须声明的<generator>子元素是一个Java类的名字,用来为该持久化类的实例生成唯一的标识. <generator class="sequenc ...

  6. mysql hibernate id generator_Hibernate映射文件id的generator配置方法

    可选的子元素是 一个Java类的名称,用来生成该持久化类实例的唯一标识符.如果这个生成器实例需要某些配置值或者初始化参数,可以使用元素来传递这些参数. 所有的生成器都实现了org.hibernate. ...

  7. Hibernate的generator属性

    本文讲述Hibernate的generator属性的意义.Generator属性有7种class,本文简略描述了这7种class的意义和用法. [xhtml] view plaincopy <c ...

  8. 导入新项目报错 Hibernate提示:No generator named ID_GENERATOR is defined in the persistence unit

    选择Window  Preferences 设置Generator is not defined in the persistence unit 为 Warning,点击OK就行了.

  9. 关于hibernate的generator标签中param name=sequencexxx/param用了还是默认的hibernate_sequence的问题

    在hibernate5.0之后<param name="sequence">你定义的序列名称</param> 中的sequence要改成 sequence_ ...

最新文章

  1. const volatile同时限定一个类型int a = 10
  2. java线程未执行完成,java线程测试-一个奇怪的景况-执行未完成直接结束了
  3. 《进化——我们在互联网上奋斗的故事》一一1.1 靠谱工程师向管理者的转变...
  4. VR全景可视化制作小程序功能模块源码v1.0.28
  5. Contoso 大学 - 3 - 排序、过滤及分页
  6. 机器学习实战(九)K-means(K-均值)
  7. 关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
  8. javascript调用ActiveX接口失败的解决方案及使用心得
  9. java excel 2007兼容包_Microsoft Office 2007兼容包
  10. [iOS]申请苹果开发账号
  11. jmeter 参数为邮箱@出现%40解决办法
  12. 二维离散沃尔什变换及matlab实现
  13. 领存技术至强 E5-2648L 6U VPX 通用密集计算刀片
  14. 一个基于PyTorch实现的Glove词向量的实例
  15. eclipse设置 “暗黑色” 主题
  16. Localizing oscillatory sources using beamformer techniques:part 1
  17. 超好用的八款办公软件,你的电脑都装了吗?
  18. string的insert的用法整理
  19. QQ2006Beta1新功能3D秀更多截图曝光(转)
  20. 汽车仪表自动化校验套件 FOne AutoTest-Meter (汽车仪表自动化测试)

热门文章

  1. python画图武汉加油-python实现“武汉加油”点阵字
  2. python叫什么-Python为什么叫爬虫?Python与爬虫有什么关系?
  3. python变量类型-python 变量类型 number
  4. python培训就业班口碑排行榜-Python就业班培训多少钱?老男孩Python收费标准
  5. python切片语法-Python切片详解
  6. python爬百度翻译-python爬取百度翻译的问题以及解决方案
  7. 如何在Jupyter notebook中运行python的.py文件,以及ipynb文件与py文件的相互转化
  8. react-redux中的connect
  9. Fisher_Yates算法
  10. 用ZipInputStream和ZipOutputStream实现文件及文件夹的压缩解压