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

    近来flex盛行,因此这两天也借了本书看了两天,发觉作为非页面设计人员,flex 还是很好的,flex builder很好用,拖拉就 有很COOL的界面了,而且flex总的来说基本东西不难学,有编程基 ...

  2. Hibernate generator

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

  3. Hibernate-初学小结

    Hibernate初学小结 前言: 之前学习使用过Mybatis这个ORM持久层框架,使用配置文件替代了复杂的JDBC操作:使用它对开发的便利性不言而喻.之前听老师说过Hibernate是个自动化的O ...

  4. mysql即是主键又是外键怎么写_数据库 既是主键又是外键

    数据蒋堂 | JOIN延伸 - 维度概念 谈到数据分析时常常会用到维度这个词,针对数据立方体的钻取.旋转.切片等操作都是围绕维度进行的,几乎所有的数据分析人员都知道并会运用这个术语,但要问及它的定义, ...

  5. 学习资料2900篇(4~6)

    1451 round 方法  1452 RSS 2.0 Specification  1453 Ruby入门之代码块.迭代子和过程对象  1454 SAS9新体验:在DATA STEP中使用JAVA对 ...

  6. Java开源工作流对比

    Java开源工作流对比 工作流(Workflow) 1.业务过程的部分或整体在计算机应用环境下的自动化: 2.是对工作流程及其各步骤之间业务规则的抽象.概括描述: 3.工作流主要解决的问题是:为了实现 ...

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

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

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

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

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

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

最新文章

  1. 来!一起捋一捋机器学习分类算法
  2. 算法导论——计数排序
  3. 适合0基础的web开发系列教程-web 存储
  4. Android点击Button实现功能的几种方法总结
  5. 天翼云从业认证(1.3)了解数据库的概念、SQL、关系型数据库、大数据和 NoSQL 数据库
  6. Linux gdb调试器
  7. 1.8-zabbix服务端安装
  8. java web 刷新_Java Web项目的保存和刷新
  9. 2004级C++试题及答案
  10. java正则表达式 提取 host_使用正则表达式获取链接的Host
  11. android java 调试快捷键_最强Android studio 使用快捷键和调试技巧
  12. 计算机一级报名照片是几寸的,法考报名照片要求几寸
  13. AdventureWorks安装问题总结 exe安装
  14. pdf转换器免注册码
  15. 设计模式(一)——设计模式的七大原则
  16. 关于IP地址块聚合的一些问题
  17. 服务器bmc口装系统,IBM X3650服务器BMC安装系统
  18. 网页或公众号微信网页抓包软件Fiddler的正确安装使用!
  19. matlab 数组横向纵向拼接
  20. 我们可以用TeamViewer免费版做什么?

热门文章

  1. 快手用户群体分析_深扒200个抖音快手账号,4亿银发人群粉丝数据得出行业新趋势...
  2. 上去了server查所有表空间_oracle如何查看表空间
  3. 用不同显卡训练gan的区别_面霜质地这么多,到底哪一种最好用?不同质地面霜有什么区别?...
  4. wps多人协作后怎么保存_蜂蜜开封后能放多久?蜂蜜开封后怎么保存?蜂蜜存放要注意事项...
  5. 怎么取消苹果手机自动续费_手机 App 自动续费套路多?我们要如何取消?
  6. 计算机电源外形,电源外观及铭牌解析_HKC电源_机箱电源评测-中关村在线
  7. 事务流程java怎么实现_使用队列和事务实现采集数据实例流程
  8. gpu超算算法_科学网—GPU“虎山”探未来
  9. bzoj 刷题计划~_~
  10. ASP.NET里创建Microsoft Word文档