Hibernate的merge()方法

1、session.merge(obj)会先执行select语句 查询该标识的对象是否被修改 若有修改记录 则update 若没有则什么都不做;

2、session.merge(obj)方法可以解决在一个session里有不同的两个对象但有相同标识的问题:

merge在执行更新之前会将两个标识符相同的对象进行合并,具体合并的方向是向最后一次修改合并

3、merge方法在执行之前都回去缓存中找是不是有相应的记录,也就是会有一条select语句,执行该语句的目的是为了判断该对象是否被修改了。而update就不管这些,直接就一条update语句。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,751评论 18 399
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,174评论 0 4
  • 这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring ...
    杂货铺老板阅读 5,307评论 0 2
  • 一场大雨过后,镇江突然变冷了,暑假40度的感觉还在昨天。今天洗脸的时候竟然都变冷啦。
    to_best阅读 4,097评论 0 0
  • 去年圣诞节,我收到了一份特殊的礼物,妈妈给我买了一本书。 是世界四大经典励志名著之一——《爱的教育》一打开...
    黄奕章一阅读 4,468评论 3 3

友情链接更多精彩内容