Hibernate中的merge说明

当new一个对象,赋予ID值,该对象被称为游离态看待。

在进行数据库操作的时候,1. 如果在数据库中能够根据ID找到记录,update和merge的操作都是更新数据。

2.如果没有找到记录,update肯定会报错,执行merge操作的话,就相当于insert操作。

 

如果没有赋予ID,执行update会报错,这时执行merge会添加一条记录,根据ID生成策略生成一条数据。

--------------

另外一个情况是:在Hibernate中查询出一个对象的时候,该对象被称为持久态看待。

持久态.执行merge(游离态),会合并两个对象的值。改变的是持久态的值,而游离态的值没有发生改变。(自己本身不会变成持久态)。

原文:http://blog.csdn.net/lang_man_xing/article/details/7572964

详细代码示例:http://www.cnblogs.com/hyteddy/archive/2011/05/10/2041762.html

posted @ 2013-03-20 12:51  全新时代-小小程序员大梦想  阅读(476)  评论(0编辑  收藏  举报