merge理解
2016-03-08 10:19
274 查看
这里说一下merge,
如果session中存在相同持久化标识(identifier)的实例,用用户给出的对象的状态覆盖旧有的持久实例
如果session没有相应的持久实例,则尝试从数据库中加载,或创建新的持久化实例,最后返回该持久实例
用户给出的这个对象没有被关联到session上,它依旧是脱管的
重点是最后一句:
当我们使用update的时候,执行完成后,我们提供的对象A的状态变成持久化状态
但当我们使用merge的时候,执行完成,我们提供的对象A还是脱管状态,hibernate或者new了一个B,或者检索到
一个持久对象B,并把我们提供的对象A的所有的值拷贝到这个B,执行完成后B是持久状态,而我们提供的A还是托管状态
如果session中存在相同持久化标识(identifier)的实例,用用户给出的对象的状态覆盖旧有的持久实例
如果session没有相应的持久实例,则尝试从数据库中加载,或创建新的持久化实例,最后返回该持久实例
用户给出的这个对象没有被关联到session上,它依旧是脱管的
重点是最后一句:
当我们使用update的时候,执行完成后,我们提供的对象A的状态变成持久化状态
但当我们使用merge的时候,执行完成,我们提供的对象A还是脱管状态,hibernate或者new了一个B,或者检索到
一个持久对象B,并把我们提供的对象A的所有的值拷贝到这个B,执行完成后B是持久状态,而我们提供的A还是托管状态
相关文章推荐
- 求解两个字符串的最长公共子串
- 如何在SpringMVC中获取request对象
- POJ 3384 Feng Shui 半平面交
- jQuery获取屏幕的宽度
- SPRING IN ACTION 第4版笔记-第九章Securing web applications-008-使用非关系型数据库时如何验证用户(自定义UserService)
- static inline func 内联函数
- jQuery实现带水平滑杆的焦点图动画插件
- linux下用/proc/stat文件来计算cpu的利用率
- java设计模式——创建型之原型模式
- 支付系统开发中可能遇到的问题
- 前端学习-jQuery源码学习
- 查看用户登录命令last
- Leetcode ☞ 147. Insertion Sort List ☆
- 11.leetcode题目171: Excel Sheet Column Number
- 正则表达式之PHP篇split 与 php函数explode
- 数据库精选1
- ijkplayer编译脚本分析(一)——init-android.sh
- hive1.2.1 在hadoop 2.6.0中搭建的问题
- hihocoder: hiho一下 第八十八周 88
- 2015级C++第2周实践项目