调查:大家用 hibernate 对于数据库主键用什么?

jacklondon 2005-03-17 01:20:24
调查:大家用 hibernate 对于数据库主键用什么?
native? assigned?
考不考虑数据库的通用性(跨数据库)?
...全文
258 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jacklondon 2005-03-31
在 hibernate 源代码中找到 uuid 的生成方法。
import org.hibernate.id.UUIDHexGenerator;

String sid = (String)(new UUIDHexGenerator().generate(null,null));

guid 只支持 sql server 和 sybase.
回复
jacklondon 2005-03-19
哪个 class ? 我怎么没有找到?
回复
pigo 2005-03-19


guid

jdk1.5自带。

回复
dlxu 2005-03-19
uuid.hex我自己最喜欢,或者hilo也可以,当然,native的兼容性比较好
回复
ynnwq 2005-03-18
native
回复
jacklondon 2005-03-18
用 sequence 的话,以后换成别的数据库怎么做改动最少?
回复
star6 2005-03-18
用uuid.hex应该挺不错的,不过有个限制就是数据库表的主键必须是32位长的字符串才行,如果开发时是用的已有的数据库,而主键是其他类型的那就只能考虑其他的了
回复
Saro 2005-03-17
uuid.hex
回复
waterye 2005-03-17
用数据库自已的主键,如oracle用序列
回复
shan1119 2005-03-17
me 2
回复
syliang2003 2005-03-17
assigned!!

我们也是用这个!
回复
AbeiXu 2005-03-17
我们可以用下面三个值:
//JVMHASH
JVMHASH = Math.abs((new Object()).hashCode());

//Random
Random m_random = new Random(System.currentTimeMillis());

//...MACHINEID
InetAddress inetaddress = InetAddress.getLocalHost();
byte[] b = inetaddress.getAddress();
//然后转换为long

然后将这个三个组合计算得到,不会产生相同的key的。
回复
jacklondon 2005-03-17
有没有考虑用某种 uuid 算法?如果多用户同时操作,会不会 insert 同样的 primary key?
请教!!
回复
AbeiXu 2005-03-17
Assigned
呵呵,我们项目开发得早,那时候还是1.0的:)自己的
回复
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2005-03-17 01:20
社区公告
暂无公告