博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【hibernate merge】session1.merge(T entity)方法的含义和update方法的区别
阅读量:6732 次
发布时间:2019-06-25

本文共 572 字,大约阅读时间需要 1 分钟。

注意: 

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

 

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字段的数据是不被替换的,依旧是'李四',而其他字段被替换。

转载于:https://www.cnblogs.com/sxdcgaq8080/p/5694620.html

你可能感兴趣的文章
linux下软链接与硬链接及其区别
查看>>
ZooKeeper使用命令大全
查看>>
阿里大文娱总裁樊路远:杨伟东事件值得警醒 优酷将全面整顿
查看>>
防止小行星撞地球 科学家提议创建卫星系统进行拦截
查看>>
一个处理图片的python脚本:移除所有的非jpg文件
查看>>
Python骚包的操作,用SQL方式的去玩Pandas
查看>>
Flask网站轻松部署到免费主机Heroku(2) 清除数据
查看>>
iOS Xcode快捷键
查看>>
es6摇一摇类库
查看>>
Ant Desing Pro2.0(二)新增页面
查看>>
一块GPU就能训练语义分割网络,百度PaddlePaddle是如何优化的?
查看>>
Kafka使用ELK堆栈进行记录
查看>>
一次性理清JavaScript变量等高难度面试问题
查看>>
前嗅ForeSpider教程:链接抽取
查看>>
LeetCode 319. Bulb Switcher
查看>>
第一个springboot项目
查看>>
Prometheus 500 Internal Privoxy Error 异常解决
查看>>
2018年前端面试题(秋季面试随意整理的)
查看>>
深圳Android技术大会分享
查看>>
requestAnimationFrame 兼容方案
查看>>