黑马程序员技术交流社区
标题:
Hibernate 中的 update()和 saveOrUpdate()的区别?
[打印本页]
作者:
黑马-zhangping
时间:
2012-10-20 19:55
标题:
Hibernate 中的 update()和 saveOrUpdate()的区别?
Hibernate 中的 update()和 saveOrUpdate()的区别?
作者:
李琼
时间:
2012-10-20 20:58
update针对的是已存在的实体对象
saveOrUpdate()对象存在与否都不会有任何影响
hibernate的update直接修改,而saveorupdate是如果数据没有修改,而是新增,则执行save操作,如果是修改则执行修改操作。
作者:
王威
时间:
2012-10-20 21:11
简单来说:
update() 更新,没有主键会报错的
saveOrUpdate() 保存或更新, 没有主键就执行插入.
进一步分析:
Update:是对暂态(transient )或是只是脱管(detached)的更新操作,对于暂态对象的更新操作通常不产生效果,对于脱 管对象是做了同步的操作,即数据库的数据发生变化并且对象状态也成为托管对象 。
SaveOrUpdate : 也是对暂态(transient )或是只是脱管(detached)的进行操作,至于是插入还是更新,则要根据id 中指定的一些具体条件来分析。但是个人认为在明显只会发生插入操作的情况还是尽量避免用saveOrUpdate而直接用save即可。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2