
UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。
看需求,你用什么数据库引擎,如果是INNODB,UUID做主键不是很好。一个原因是以后索引空间会比较大。二个是UUID是随机的,所以数据的存储顺序也是随机,查询时需要较多IO。如果量不大,那就随意了。
首先你要明白,save和merge的效果都是没有主键的时候是保存,有主键的时候是更新,但是save执行之后,对象变为持久态,而merge执行过后,对象是脱管状态,也就是说,这时对象的主键是不起作用的。
在你的程序中,每次循环都thisproTechProchead,所以对于save来说第一次过后,对象已经是持久态了,所以之后的 *** 作只是更新,而merge的话,由于第一次之后是托管的,主键不起作用,所以是插入,也正是因为主键不起作用,所以插入的主键就是null
以上就是关于为啥大家都用uuid作为数据库的主键啊全部的内容,包括:为啥大家都用uuid作为数据库的主键啊、Mysql 用UUID做主键可行么、SSH2用HIBERNATE *** 作数据库的问题,主键使用UUID的方式,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)