Hibernate generator
“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相关推荐
- Hibernate generator小结
"assigned" 主键由外部程序负责生成,在 save() 之前指定一个. "hilo" 通过hi/ ...
- Hibernate的generator属性之意义【转】
2019独角兽企业重金招聘Python工程师标准>>> Hibernate的generator属性之意义 本文讲述Hibernate的generator属性的意义.Generator ...
- Hibernate的主键生成器generator(zhuan)
1.如果主键字段为自增类型, 那么对应的.hbm.xml文件中的id字段的xml声明, 应该这么写: <generator class="native" /> 例如: ...
- 【转】Hibernate的Generator属性有7种class,本文简略描述了这7种class的意义和用法。...
转自:http://hi.baidu.com/zhang_zhu_1/item/5cfcf1a98b86e88a1410733b [转]Hibernate的Generator属性有7种class,本文 ...
- hibernate里的generator中class =value介绍
在*.hbm.xml必须声明的<generator>子元素是一个Java类的名字,用来为该持久化类的实例生成唯一的标识. <generator class="sequenc ...
- mysql hibernate id generator_Hibernate映射文件id的generator配置方法
可选的子元素是 一个Java类的名称,用来生成该持久化类实例的唯一标识符.如果这个生成器实例需要某些配置值或者初始化参数,可以使用元素来传递这些参数. 所有的生成器都实现了org.hibernate. ...
- Hibernate的generator属性
本文讲述Hibernate的generator属性的意义.Generator属性有7种class,本文简略描述了这7种class的意义和用法. [xhtml] view plaincopy <c ...
- 导入新项目报错 Hibernate提示:No generator named ID_GENERATOR is defined in the persistence unit
选择Window Preferences 设置Generator is not defined in the persistence unit 为 Warning,点击OK就行了.
- 关于hibernate的generator标签中param name=sequencexxx/param用了还是默认的hibernate_sequence的问题
在hibernate5.0之后<param name="sequence">你定义的序列名称</param> 中的sequence要改成 sequence_ ...
最新文章
- const volatile同时限定一个类型int a = 10
- java线程未执行完成,java线程测试-一个奇怪的景况-执行未完成直接结束了
- 《进化——我们在互联网上奋斗的故事》一一1.1 靠谱工程师向管理者的转变...
- VR全景可视化制作小程序功能模块源码v1.0.28
- Contoso 大学 - 3 - 排序、过滤及分页
- 机器学习实战(九)K-means(K-均值)
- 关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
- javascript调用ActiveX接口失败的解决方案及使用心得
- java excel 2007兼容包_Microsoft Office 2007兼容包
- [iOS]申请苹果开发账号
- jmeter 参数为邮箱@出现%40解决办法
- 二维离散沃尔什变换及matlab实现
- 领存技术至强 E5-2648L 6U VPX 通用密集计算刀片
- 一个基于PyTorch实现的Glove词向量的实例
- eclipse设置 “暗黑色” 主题
- Localizing oscillatory sources using beamformer techniques:part 1
- 超好用的八款办公软件,你的电脑都装了吗?
- string的insert的用法整理
- QQ2006Beta1新功能3D秀更多截图曝光(转)
- 汽车仪表自动化校验套件 FOne AutoTest-Meter (汽车仪表自动化测试)
热门文章
- python画图武汉加油-python实现“武汉加油”点阵字
- python叫什么-Python为什么叫爬虫?Python与爬虫有什么关系?
- python变量类型-python 变量类型 number
- python培训就业班口碑排行榜-Python就业班培训多少钱?老男孩Python收费标准
- python切片语法-Python切片详解
- python爬百度翻译-python爬取百度翻译的问题以及解决方案
- 如何在Jupyter notebook中运行python的.py文件,以及ipynb文件与py文件的相互转化
- react-redux中的connect
- Fisher_Yates算法
- 用ZipInputStream和ZipOutputStream实现文件及文件夹的压缩解压