社区
Web 开发
帖子详情
做群集时,Hibernate 产生主键的问题?
Sunny319
2007-04-17 11:48:51
我们现在的Hibernate产生主键是increment,以前在一台机器上跑应用没有问题!
现在我们需要做群集,好像再用increment产生主键时候就会像一个数据库上,跑多个应用时,会产生重复主键,请问有相关经验的兄弟说说看怎么解决这个问题.谢谢!
...全文
516
10
打赏
收藏
做群集时,Hibernate 产生主键的问题?
我们现在的Hibernate产生主键是increment,以前在一台机器上跑应用没有问题! 现在我们需要做群集,好像再用increment产生主键时候就会像一个数据库上,跑多个应用时,会产生重复主键,请问有相关经验的兄弟说说看怎么解决这个问题.谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Sunny319
2007-04-17
打赏
举报
回复
感觉改成GUID很麻烦,而且其他表有外键关联时候很麻烦.准备把数据库ID的字段改成serial,然后在hibernate 产生主键方式改成native,不知道行不行,准备测试一下.
greatzheng
2007-04-17
打赏
举报
回复
好贴,学习。。。
ruanjiantaotao
2007-04-17
打赏
举报
回复
uuid,对,会根据及其的marc地址和当时的时间生成全球唯一的id,128位
kevinliuu
2007-04-17
打赏
举报
回复
如果使用Guid,你的数据库设计要改
/////
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。
UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID
import java.util.UUID;
public class Test {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println (uuid);
}
}
编译运行输出:07ca3dec-b674-41d0-af9e-9c37583b08bb
Sunny319
2007-04-17
打赏
举报
回复
谢谢大家的回复;
现在我们的数据库字段是这样设计的
ID:decimal(19,0);
现在马上准备上线,时间很近,群集也是刚刚提出来的,我们想在短时间在对程序改变较小情况下做.
kevinliuu你说用GUID,我以前没有用过,刚才在网上看了一点资料.觉得还是不是很明白,可以具体讲下吗?
zxm_dgcstars
2007-04-17
打赏
举报
回复
uuid.hex生成主键是32位
zxm_dgcstars
2007-04-17
打赏
举报
回复
用uuid.hex看行不行
kevinliuu
2007-04-17
打赏
举报
回复
用GUID生成,不要Hibernate自己生成
Sunny319
2007-04-17
打赏
举报
回复
数据库我们使用的是informix.现在的前提是使用Hibernate.怎么避免产生重复主键的问题啊
兄弟们来看看啊
gameboy999
2007-04-17
打赏
举报
回复
用数据库方的方法产生id,例如oracle的sequence对象,肯定不会重复
hibernate
mysql
主键
_
Hibernate
各种
主键
生成策略与配置详解
Hibernate
不负责维护
主键
生成。与
Hibernate
和底层数据库都无关,可以跨数据库。在存储对象前,必须要使用
主键
的setter方法给
主键
赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免。“ud”是自定义的...
Hibernate
各种
主键
生成策略
Hibernate
各种
主键
生成策略详解 1、assigned<特点:可以跨数据库,人为控制
主键
生成,应尽量避免>
主键
由外部程序负责生成,在 save() 之前必须指定一个。
Hibernate
不负责维护
主键
生成。与...
hibernate
中
主键
的生成策略
Hibernate
不负责维护
主键
生成。与
Hibernate
和底层数据库都无关,可以跨数据库。在存储对象前,必须要使用
主键
的setter方法给
主键
赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免。 ...
Hibernate
主键
Hibernate
主键
有以下几种: 1. Assigned Assigned方式由用户生成
主键
值,并且要在save()之前指定否则会抛出异常 特点:
主键
的生成值完全由用户决定,与底层数据库无关。用户需要维护
主键
值,在调用session.save()...
【
Hibernate
】
hibernate
主键
生成策略与配置详解
**
Hibernate
各种
主键
生成策略与配置详解** //####################################################### 1、assigned
主键
由外部程序负责生成,在 save() 之前必须指定一个。
Hibernate
不负...
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章