社区
Java SE
帖子详情
Hibernate里save()、update()、saveOrUpdate()、merge()区别?
zyzx1986
2009-07-12 09:54:19
hibernate 太强大了,一个对数据的持久化都这么多方法,
小弟不晓得他们之间有什么区别?各位大哥帮忙解解惑。
...全文
2139
8
打赏
收藏
Hibernate里save()、update()、saveOrUpdate()、merge()区别?
hibernate 太强大了,一个对数据的持久化都这么多方法, 小弟不晓得他们之间有什么区别?各位大哥帮忙解解惑。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
a8856225a
2010-08-13
打赏
举报
回复
Daly罗
2009-07-13
打赏
举报
回复
saveOrUpdate()作用:
1.如果对象已经在本session中持久化了,不做任何事;
2.如果另一个与本session关联的对象拥有相同的持久化标识(identifier),抛出一个异常;
3.如果对象没有持久化标识(identifier)属性,对其调用save();
4.如果对象的持久标识(identifier)表明其是一个新实例化的对象,对其调用save();
5.如果对象是附带版本信息的(通过或) 并且版本属性的值表明其是一个新实例化的对象,save()它.
通俗一点也就和一楼差不多
bolink5
2009-07-13
打赏
举报
回复
后改成 好
bolink5
2009-07-13
打赏
举报
回复
save() 是保存,相当于jdbc的insert
update 就是更新
saveOrUpdate() 是数据库里面不存在这条记录就插入,有的话就更新。个人建议最后别用,性能很底下。
ZhaoHuiZiXin
2009-07-13
打赏
举报
回复
1. save() 保存数据
2. update()更新数据
3. saveOrUpdate()保存或更新数据: 对象中如果有主键就修改, 如果没有主键就保存.
4. merge(): 他说的就是如果没有该条记录,则会被创建; 如果有该条记录,但内容有变,则会被修改; 相当于save or update.
merge 和saveOrUpdate不一样,当session中某持久化对象有id相同的两个纪录时,必须用merge,merge会在保存之前来合并记录,不然会报错。合并记录后的动作和 saveOrUpdate一样。
hyhymn
2009-07-13
打赏
举报
回复
学习。
ouwarmth
2009-07-13
打赏
举报
回复
save()方法用于将一个临时对象转变为持久化对象,也就是将一个新的业务实体保存到数据库中;
update()方法用于将一个游离对象重新转变为持久化对象,也就是更新一个已经存在的业务实体到数据库中;
saveOrUpdate()兼具了save()和update()方法的功能,该方法根据传入参数的状态执行不同的操作,当为临时状态时,调用save()方法;当为持久化状态时,则直接返回;当为游离状态时,调用update()方法。
merge()方法主要用于更新和保存实体,当实体不存在是,则执行保存操作,当实体已经存在时,执行更新操作,其实同saveOrUpdate()的功能是类似的。
zi_0_feng
2009-07-13
打赏
举报
回复
有人知道 save() 和 merge() 的区别吗?
Hibernate
里
save(),saveOr
Update
(),
merge
(),
update
()的
区别
转自:https://www.cnblogs.com/yangronglin/p/5826456.html save()方法用于将一个临时对象转变为持久化对象,也就是将一个新的业务实体保存到数据库中;
update
()方法用于将一个游离对象重新转变为持久化对象,也就是更新一个已经存在的业务实体到数据库中; saveOr
Update
()兼具了save()和
update
()方法的功能,该方法根...
Hibernate
的各种保存方式的
区别
(save,persist,
update
,saveOrUpdte,
merge
,flush,lock)等
hibernate
的保存
hibernate
对于对象的保存提供了太多的方法,他们之间有很多不同,这
里
细说一下,以便
区别
: 一、预备知识: 在所有之前,说明一下,对于
hibernate
,它的对象有三种状态,transient、persistent、detached 下边是常见的翻译办法: transient:瞬态或者自由态 persistent:持久化状态 detache
Hibernate
save, saveOr
Update
, persist,
merge
,
update
区别
Hibernate
save, saveOr
Update
, persist,
merge
,
update
区别
- 小黑客 - 博客园https://www.cnblogs.com/xiaoheike/p/5374613.html
Hibernate
save()与persist()
区别
- 山楂树男孩的博客专栏 - CSDN博客https://blog.csdn.net/u010739551/...
session的save,saveOr
Update
,
merge
区别
!
hibernate
的保存
hibernate
对于对象的保存提供了太多的方法,他们之间有很多不同,在这
里
细说一下,以便
区别
: 一、预备知识: 在所有之前,说明一下,对于
hibernate
,它的对象有三种状态,transient、persistent、detached 下边是常见的翻译办法: transient:瞬态或者自由态 persistent:持久化状态 d
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章