hibernate中uuid和native等主键生成策略
发布日期:2021-10-17 09:34:34
浏览次数:1
分类:技术文章
本文共 730 字,大约阅读时间需要 2 分钟。
hibernate中一个数据模型的主键常用有三种形式:uuid、native、assigned,分别是通用唯一标识、自增、自定义。
1、uuid是系统产生的,insert数据库时相比native要快很多,但是uuid是一长串无序字符串,理论上讲查找起来会慢一点,但是不太会影响开发的。而native是数据库生成,在insert时会先计算所以会比uuid慢一点,但是在查找和删除数据时,会比较方便。 2、uuid和assigned的生成是在程序中完成的,一个是自动,一个是手动。所以在进行session.save()时,不会产生sql语句,数据库中也不会有数据。而native需要读取数据库数据才能完成自动递增,所以在执行session.save()时,就会产生相应的sql语句,数据库中就会有数据。 uuid介绍: uuid即通用唯一标识,听这个名字就很霸气,没错。在不知道怎么定义主键时,它是不二的选择。 1、生成简单,java中已经有现成的东西(java就是好啊),引入java.util.UUID,例: UUID uu = UUID.randomUUID();System.out.println(uu);//会打印出什么天知道。 2、通用唯一,其实可以加上全球,uuid的生成原理: 当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得), 据说uuid用上千年万年才会出现一条重复数据,这意味着在任何时候两个相同数据表的数据放在一起不会出现主键冲突,这在实际开发中会带来很大的好处。转载地址:https://blog.csdn.net/s_156/article/details/103814316 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年03月15日 09时57分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux 中文utf-8转gbk编码,Linux平台下 GBK编码转UTF-8编码
2019-04-21
linux安装软件在boot,在Linux系统上安装Spring boot应用的教程详解
2019-04-21
取消linux自动登录,linuxdeepin 如何取消自动登录啊?
2019-04-21
linux线程存储,Linux系统编程手册:线程:线程安全和每线程存储
2019-04-21
linux批处理模式,巧用linux-top的批处理模式
2019-04-21
linux信号量机制例题,第二章 信号量机制及几个经典例题
2019-04-21
linux ba 模拟,在你的 Python 游戏中模拟引力 | Linux 中国
2019-04-21
c语言表达式3649的值是,535个C语言经典实例目录.doc
2019-04-21
c语言中malloc数组,如何在C中对malloc()数组进行一行赋值?
2019-04-21
c语言调存储过程,写留言板–调用存储过程出问题
2019-04-21
c语言编程max,C语言编程题及答案.doc
2019-04-21
android增删改查布局,Android之父_增删改查
2019-04-21
html获取文件路径_HTML 文件路径
2019-04-21