问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Hibernate的映射文件的generator标签的native属性都有哪些值,分别是什么含义

发布网友 发布时间:2022-04-13 22:29

我来回答

5个回答

懂视网 时间:2022-04-14 02:50

Hibernate-类映射文件中常用属性的了解,我们把User.hbm.xml加了一些扩展来说说常用的属性的含义:

我们把User.hbm.xml加了一些扩展来说说常用的属性的含义:

这里没有指定column属性表示与name值相同

length="20" 如果前台提交过来的值长度超过20的话Hibernate会抛出异常

not-null="true" 如果前台提交过来的值是空的Hibernate会抛出异常

unique="true" 如果前台提交过来的值已经在数据中存在Hibernate会抛出异常(Hibernate会自动去判断是否在数据库是有重复数据)

update="false" 表示该字段不参与更新操作(Hibernate不会产生该字段的SQL语句)

insert="true" 表示该字段参与插入操作。

可以修改成如下表示方法

是主键生成策略,是Hibernate自动生成的。

这里讲解下代理主键和业务主键的概念

代理主键是指与业务无关且能唯一标识数据库中记录,一般是数据库自动生成的,比如mysql可以使用auto_increment,Sql2000可以使用identity生成方式,Oracle可以使用sequence生成方式

业务主键指业务相关,由用户指定,且能唯一标识数据库中的任意一条记录,也叫自然主键

Hibernate可以帮助生成业务主键

就是一种生成方式,下面我说详细说下hibernate中业务主键的生成方式:


increment:以递增方式生成OID,每次加1
identiry:由底层数据库生成OID,条件是数据库支持自动增加的字段
sequence: hibernate根据底层数据库的序列来生成OID,条件是数据库支持序列
hilo:根据high/low算法生成OID,Hibernate根据待定表的字段作为high值,,默认采用hibernate_unique_key表的next_hi值
seqhilo:hibernate3.0出现,根据高氏位算法生成主键,需要给顶一个序列。
native:根据数据库的情况自动选择OID生成的方式
uuid.hex:采用128位的uuid算法生成OID,占用空间大
assigned:由JAVA应用程序负责生成主键,适用于自然主键

linux

热心网友 时间:2022-04-13 23:58

1) assigned

主键由外部程序负责生成,无需Hibernate参与。

2) hilo

通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。

3) seqhilo

与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle。

4) increment

主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。

5) identity

采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL中的主键生成机制。

6) sequence

采用数据库提供的sequence 机制生成主键。如Oralce 中的Sequence。

7) native

由Hibernate根据底层数据库自行判断采用identity、hilo、sequence其中一种作为主键生成方式。

8) uuid.hex

由Hibernate基于128 位唯一值产生算法生成16 进制数值(编码后以长度32 的字符串表示)作为主键。

9) uuid.string

与uuid.hex 类似,只是生成的主键未进行编码(长度16)。在某些数据库中可能出现问题(如PostgreSQL)。

10) foreign

使用外部表的字段作为主键。Oracle数据库一般使用 increment自动增长或者sequence序列。

热心网友 时间:2022-04-14 01:16

1) assigned
主键由外部程序负责生成,无需Hibernate参与。

2) hilo
通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主
键生成历史状态。

3) seqhilo
与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是主键历史
状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle。

4) increment
主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持
一个变量,以保存着当前的最大值,之后每次需要生成主键的时候
将此值加1作为主键。

5) identity
采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL
中的主键生成机制。

6) sequence
采用数据库提供的sequence 机制生成主键。如Oralce 中的
Sequence。

7) native
由Hibernate根据底层数据库自行判断采用identity、hilo、sequence
其中一种作为主键生成方式。

8) uuid.hex
由Hibernate基于128 位唯一值产生算法生成16 进制数值(编码后
以长度32 的字符串表示)作为主键。

9) uuid.string
与uuid.hex 类似,只是生成的主键未进行编码(长度16)。在某些
数据库中可能出现问题(如PostgreSQL)。

10) foreign
使用外部表的字段作为主键。

Oracle数据库一般使用 increment自动增长或者sequence序列

热心网友 时间:2022-04-14 02:51

stackoverflow网站转

It takes sequences. You need to provide a sequence name.
这是使用序列,你需要提供一个序列名称
If name is not provided, sequence named HIBERNATE_SEQUENCE is going to be used.
如果没有提供序列名称,将使用 HIBERNATE_SEQUENCE 这个序列。

Looking at the code, it lets the dialect decide. The Dialect implements the decision like this:
看看 方言 的源码,你就清楚了

热心网友 时间:2022-04-14 04:42

generator是id的注释吧,这个可以在网上一搜一大堆啊
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 如何提高便利店的顾客满意度? 顾客满意与顾客忠诚度研究 关于大型超市提高顾客忠诚度的策略研究 如何将下列中文摘要翻译成英文?希望各位高手帮帮忙~~这是我全部的分 我先谢谢了 感激不尽!! 求一些关于 苏果超市提升客户满意度方面的成功及存在的问题 的资料 30岁女最近尿频而且有点腰累的感觉是什么症状 急急急!!!求客户满意度研究论文的学习笔记,笔记内容包括:论文结构,论文理论依据,研究方法,问卷问 女31岁一年以上 晚上尿频是怎么回事 你好我晚上尿频历害,一般一个晚上要起来 他的视频经常被b站up主当做素材引用英语怎么说? b站里用别的up主做素材的鬼畜视频真的没问题吗?难道不会有人因为诋毁形象而举报什么的吗? 哪位好心人解答下。我是女的,31岁尿频尿不尽。泌尿的检查都做过,没有问题。但我有盆腔炎。会不会引起... 顾客满意的因素研究 我是女性,今年31岁。我的症状是尿急尿频而且腰很疼。有时在腰上围上一个厚厚的围巾就回好很多。我是在西 关于大型超市顾客满意度的决定因素 顾客满意度研究的研究现状 如何提高顾客满意度的论文怎么写? 女,31岁,夜间尿频,中医怎样调理? 超市顾客对产品种类和服务态度的满意度调查方案 河池市宜州区桂茂北路启明星经度,纬度 广西宜州长茂电力有限责任公司怎么样? 怎么看出微信上的好友是把过去的状态都删了,还是把我屏蔽了 梦见在河里接起来龙虾,然后把龙虾掐死揪碎,又扔到河里,请问是什么意思? 2o16年山东枣庄中考各科分值多少 初中数学:平行四边形中求弧长常考题,求弧FE的长,枣庄中考 梦见一个外壳像龙虾,拨开以后是兔子,而且头是蛇的东西,有什么寓意吗?最后被我打死了 如图在平面直角坐标系xo y中点aaa在第三象限点b二分之三b在x轴正半轴上且ab满 求枣庄市2008年数学中考题的答案 汽车遥控钥匙丢了怎么配买了个二手车没有遥控器? 中年女人梦见踩死龙虾是什么意思? 汽车没有遥控器钥匙,可以从新配吗? 三次梦见蜘蛛,打死后仔细看是龙虾,请解梦,谢谢! 微信怎么设置隐藏,不让好友看到? 微信怎么隐藏不让别人看见我的? windows太多垃圾广告怎么办 怎么隐藏别人看不见 微信怎么隐藏不让好友看到 微信可以把发现页隐藏吗 手机听收音机费流量不??? 怎么隐藏 在西安情侣必去的地点都有哪些?