update与merge

参考地址:http://blog.csdn.net/ml5271169588/article/details/6734981

根据网上的内容总结如下:

update:

update tablename set ... where id=?

merge:

先根据id查询出记录,如果要更新的数据与查询出的数据无异,则没有update语句,

如果根据id没有查询出数据,则有insert记录,

以下的内容摘抄自网上: 
  当我们使用update的时候,执行完成后,我们提供的对象A的状态变成持久化状态。 
  但当我们使用merge的时候,执行完成,我们提供的对象A还是脱管状态,hibernate或者new了一个B,或者检索到 一个持久对象B,并把我们提供的对象A的所有的值拷贝到这个B,执行完成后B是持久状态,而我们提供的A还是托管状态。

**

有问题在公众号【清汤袭人】找我,时常冒出各种傻问题,然一通百通,其乐无穷,一起探讨


原文地址:https://www.cnblogs.com/qingmaple/p/4156366.html