【hibernate merge】session1.merge(T entity)方法的含义和update方法的区别

注意: 

MERGE语句是SQL语句的一种。在SQL Server、Oracle数据库中可用,MySQL、PostgreSQL中不可用。

 

1》session1.merge(T entity) 合并实体的方法。

2》merge的作用是:新new一个对象,如果该对象设置了ID,则这个对象就当作游离态处理:

                                      当ID在数据库中不能找到时,用update的话肯定会报异常,然而用merge的话,就会insert。

                                      当ID在数据库中能找到的时候,update与merge的执行效果都是更新数据,发出update语句;

                                  如果没有设置ID的话,则这个对象就当作瞬态处理:

                                  用update的话,由于没有ID,所以会报异常,merge此时则会保存数据,根据ID生产策略生成一条数据;

3》作用类似与saveOrUpdate()方法,作用基本一致,不过略有区别。

4》与saveOrUpdate()方法的区别是:

      1.saveOrUpdate()是完全更新数据

      2.merge()方法在更新数据的时候,例如数据库中本条数据的name这个字段是‘李四’,而新的要合并的数据中name字段是null,那数据库中name字段的数据是不被替换的,依旧是'李四',而其他字段被替换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

度量计算机外部传输单位,用来度量计算机外部设备传输率的是什么度量单位?...

用来度量计算机外部设备传输率的度量单位有:“MB/s”。MB是存储容量,“MB/s”是传输速率,“MB/s”的含义是兆字节每秒,是指每秒传输的字节数量。基本概念bit(位,又名“比特”):bit的缩写是b,是计…

s7300plc串口通信_西门子S7-300/400串口通信模块的信息与使用

原标题:西门子S7-300/400串口通信模块的信息与使用1. 串行通讯模块基本信息介绍CP340/CP341/CP440/CP441-1/CP441-2模块是西门子S7-300/400系列PLC中的串行通讯模块,这些模块具有1个或2个(CP441-2)串行通讯接口(RS232C、20mA-TTY或RS485/422)。可以使用这…

Java LinkedList对象的clone()方法和示例

LinkedList对象clone()方法 (LinkedList Object clone() method) This method is available in package java.util.Collection and here, Collection is an interface. 该方法在java.util.Collection包中可用,在这里, Collection是一个接口。 This metho…

计算机毕业设计谢辞怎么写,毕业论文谢辞怎么写(通用8篇)

毕业论文谢辞怎么写(通用8篇)一段忙碌又充实的大学生活要即将结束,毕业前要通过最后的毕业论文,毕业论文是一种有准备、有计划、比较正规的、比较重要的检验大学学习成果的形式,那么你有了解过毕业论文吗?以下是小编为大家整理的毕…

maya如何查看资源大纲_怎样才算入门了Maya

开个坑来和大家讨论一下这个题目。首先亮明我的观点,我认为所谓入门 Maya,或者说任何一项技能或软件,是了解了这个软件/技能的基本操作方式。所以在我看来掌握了下面这些内容就算是入门了 Maya。认识 Maya 界面视图操作模型操作场景显示的几种…

J2EE基础之Web服务简介

J2EE基础之Web服务简介 1、什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的、实时的,它是专业的气象站提供的一种服务。例如,在网上购物时,通常采用网上支付的方式…

c# uri.host_C#| Uri.CheckHostName()方法与示例

c# uri.hostUri.CheckHostName()方法 (Uri.CheckHostName() Method) Uri.CheckHostName() method is a static method that returns the object of UriHostNameType enum than we need to compare returned enum object with UriHostNameType.Dns. If both are equal then the …

ue4模型导出_MAYA动画导出以及导入UE4的方式、方法

(此教程使用maya2016、UE4.21制作截图,其他版本只需找到相应的功能同理制作即可)常用的工具最好创建快捷方式;整理模型常用的一键三连:导出常用的一键三连:动画导出前准备:(Tpose文件导入UE4后相当于角色的骨架网格物体…

计算机安装重装出现错误,一键重装失败怎么办?电脑重装系统失败的原因和解决方法...

在电脑出现问题的时候,我们可以通过重装系统来解决电脑问题。但有的时候重装系统失败,无法进行安装,这可怎么办呢?下面就让小编为大家带来电脑重装系统失败的原因和解决方法。1、启用了防毒功能问:当重装系统时&#x…

ctype函数_PHP ctype_cntrl()函数与示例

ctype函数PHP ctype_cntrl()函数 (PHP ctype_cntrl() function) ctype_cntrl() function is a character type (CType) function in PHP, it is used to check whether a given string contains all control characters or not. ctype_cntrl()函数是PHP中的字符类型(CType)函数…

数据的输入输出

字符输出函数putchar int putchar(int c) 函数参数:c为字符常量或表达式函数返回值:输出的字符函数功能:在标准输出上显示一个字符格式化输出函数printfint printf (const char *format, …),成功返回输出的字节数,失败返回-1&…

python匹配邮箱_在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类...

在Python使用正则表达式需要使用re(regular exprssion)模块,使用正则表达式的难点就在于如何写好pre.compile(r 正则表达式)的内容。下面是在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类的代码,本文只进行了简单的分类,读者可…

服务器时间延迟,如何处理从服务器延迟响应时间'力逼近'

使用下面的示例代码来执行login过程。您可以使用AsyncTask来执行登录过程。LoginActivity类,它使用AsyncTask。在Login按一下按钮,我executing的AsyncTask。在登录过程中,这将显示一个ProgressDialog过程完成后,驳回ProgressDialo…

printf中的指针变量_C语言中的printf()示例/变量

printf中的指针变量As we know that, printf() is used to print the text and value on the output device, here some of the examples that we wrote to use the printf() in a better way or for an advance programming. 众所周知, printf()用于在输出设备上打…

System Center Technical Preview DPM(2016)对Exchange2016的灾难恢复

其实备份很简单,就是做好备份计划即可,但往往客户最担心的是备份的东西在真的灾难恢复时是否可以恢复出来可用,这才是考验备份软件的最关键时刻,因此象备份Exchange这样的应用时对于管理员来说除了会玩备份软件外还需要熟悉Exchan…

as真机调试_如何使用真机调试android程序

展开全部第一步:将我们开发所用的Android真机的USB调试功能打开(打开方法为Settings(设置32313133353236313431303231363533e59b9ee7ad9431333365656531)Applications(应用程序)Development(开发)勾选USB debugging(USB调试)),然后通过usb连接线连接到开…

css如何制作横幅,基本的CSS横幅

我确定这一定非常简单,但我遇到了问题!我想要的效果是每页上横幅或标题的纯色块,其中包含一些文字。但是为了增加一些装饰,我已经为每一面做了一个小图形,这只是一个从横幅颜色渐变为白色的小方块。所以整体效果是一个…

教你在Ubuntu上体验Mac风格

导读老实说,我是个狂热的 Ubuntu 迷,我喜欢 Ubuntu 默认的 Unity 主题样式外观。此外,还有很多关于 Ubuntu 14.04 的漂亮图标主题样式 可用来美化默认的外观。但正如我上面提到的仍有很多用户喜欢 Mac OS X 的主题样式,我希望这篇…

在Python中升级灰度图像

Upscaling of an image refers to enlarging the size of an image. 图像放大是指放大图像的大小。 In this program, we will be using two functions of OpenCV-python (cv2) module.. lets see their syntax and descriptions first 在此程序中,我们将使用Open…

开机未发现nvidia控制面板_Windows10或者其他操作系统开机提示“未发现NVIDIA控制面板,从Microsoft Store中安装NVIDIA控制面板”的解决办法...

昨天深夜,有一个朋友加QQ说他电脑出了问题,不知道咋的就变成了提示“未发现NVIDIA控制面板,从Microsoft Store中安装NVIDIA控制面板” 里面数据还是挺重要的,问是否有办法操作,具体看图; 经过询问得知,客户是在安装一个软件,反复运行后不出现,以为中毒了,就重启了一下…