`
prizefrigh
  • 浏览: 11168 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate merger方法

 
阅读更多
hibernate 官方介绍merge 方法
http://www.hibernate-training-guide.com/merge.html

大意如下:
1. 当update 一个detached object时,会报错org.hibernate.NonUniqueObjectException。

2. 当hibernate中已存在具有相同id的persist实例(假设内存地址为AA)时,hibernate会把参数中的property值复制到该persist实例,并返回具有新值的persist实例(还是AA),此时,数据中对应id的row还是原来的值,只有flush()或commit后,才会把新值更新到数据库

3. 当hibernate中不存在具有相同id的persist实例时,hibernate根据参数中的detached object的id,从数据LOAD,得到一个persist obj,(从log中可以看到,调用merger时会发送一句查询语句到数据库)然后把参数中detached object的property值复制到该persist实例,并返回具有新值的persist实例,此时,数据中对应id的row还是原来的值,只有flush()或commit后,才会把新值更新到数据库。



分享到:
评论

相关推荐

    Gios PDF Splitter And Merger 1.11 汉化版

    《Gios PDF Splitter And Merger 1.11 汉化版:高效便捷的PDF处理工具》 在数字化办公日益普及的今天,PDF文件因其格式稳定、阅读方便等特性,被广泛应用在各种文档交流中。然而,面对大量的PDF文件,如何进行有效...

    windows merger zip

    《Windows Merger ZIP:探索文件与文件夹差异的利器》 在日常的计算机操作中,我们经常需要比较不同文件或文件夹之间的差异,以便找出更新、修改或丢失的内容。Windows Merger ZIP是一款专为此目的设计的实用工具,...

    free pdf split and merger tool

    PDF Split and Merger工具是一款免费的软件,专为处理PDF文档设计,主要功能是分割和合并PDF文件。这款工具在日常工作中非常实用,尤其对于那些需要频繁操作PDF文档的用户而言,它提供了一种高效、便捷的方式来管理...

    Laravel开发-lara-pdf-merger

    这个项目"**Laravel开发-lara-pdf-merger**"显然与在Laravel环境中处理PDF文档有关。"lara-pdf-merger-master"这个文件名表明这是一个关于PDF合并的Laravel包的源代码仓库主分支。 在Laravel开发中,处理PDF文档...

    file_merger1.0.rar_FileMerg_file Merger_文件合并

    《文件合并工具——file_merger1.0详解》 在日常工作中,我们常常需要将多个文件整合到一个文件中,以方便管理和传输。"file_merger1.0.rar"是一个专门用于文件合并的实用工具,其核心功能是将一系列特定格式命名的...

    Merger是一个HTML响应式模板能够把三个收款二维码微信支付宝QQ钱包合并成一个

    在技术实现上,Merger模板主要基于JavaScript和CSS进行开发。JavaScript是一种广泛使用的客户端脚本语言,它允许在网页中添加交互性,使得用户在不刷新页面的情况下也能与服务器进行数据交换。在这个模板中,...

    android-manifest-merger:Android Manifest Merger用作独立应用程序

    java -jar target/manifest-merger-jar-with-dependencies.jar --main mainAndroidManifest.xml --log [VERBOSE, INFO, WARNING, ERROR] --libs [path separated list of lib's manifests] --overlays [path ...

    manifest-merger-22.1.1.zip

    1. 创建`JavaPlugin`子类:这是每个Bukkit插件的基础,你需要在此类中覆盖`onEnable()`和`onDisable()`方法,以实现插件的启动和关闭逻辑。 2. 注册事件监听器:使用`getServer().getPluginManager().registerEvents...

    Texture Merger v1.6.3

    【Texture Merger v1.6.3】是一个专门针对纹理集处理的专业软件,它主要功能是进行纹理集的打包和动画转换。在游戏开发和图形设计领域,纹理集的优化对于提升游戏性能和资源加载速度至关重要。理解纹理集及其工作...

    svn merger.rar

    《SVN Merger:版本控制中的协同利器》 在软件开发过程中,版本控制系统扮演着至关重要的角色,它帮助团队管理代码的变化,跟踪每一次修改,同时支持多人协作。SVN(Subversion)作为其中的一种流行工具,是许多...

    Android Studio报错Manifest merger failed with multiple errors

    **方法2:启用旧版Manifest Merger** 在你的app模块的`build.gradle`文件中,你可以选择禁用新的Manifest Merger工具,转而使用旧版。在根`build.gradle`文件的最顶部添加以下行: ```groovy android { ... ...

    smart-merger:文本合并库

    这是一种在保留保留标记内容的同时合并文件的方法。 首先,准备以下文件作为合并源。您可以为每个保留标签命名。 用户名 class User{ def autoGeneratedCode = { throw new Exception() } //@hold[my_impls] ...

    Windows merger-crx插件

    **Windows Merger CRX 插件详解** Windows Merger CRX 是一款专为谷歌浏览器(Chrome...如果你一直在寻找一种方法来改善浏览器的使用体验,那么不妨尝试一下Windows Merger CRX,它可能会成为你日常工作中的得力助手。

    Zotero-DuplicatesMerger

    使用方法: 1.下载zotero 重复条目合并文件。 2.在Zotero中点击工具-附加组件,齿轮处选择 install Add-on from file...。 3.找到下载文件中的ZoteroDuplicatesMerger-v1.0.3.xpi并双击。 4.双击install now。 5....

    openapi-merger-demo.zip

    - 路径和操作合并:相同的路径和HTTP方法会合并,确保所有定义都包含在内。 - 定义合并:例如,schema、response、parameter等,可以进行合并或覆盖,根据具体需求处理冲突。 - 安全和标签合并:安全要求和标签也...

    Python库 | MAGE_Tab_merger-0.0.4-py3-none-any.whl

    "MAGE_Tab_merger-0.0.4-py3-none-any.whl" 是一个针对Python的特定库,名为"MAGE Tab Merger",版本为0.0.4。该库的目的是为了合并MAGE-Tab格式的数据。 **MAGE-Tab格式** MAGE-Tab(Microarray Gene Expression ...

    win-merger

    通过使用WinMerge,开发者不仅可以有效地找出代码中的差异,还可以学习其他开发者的设计思路和解决问题的方法,从而提升自身的编程能力和代码审查技巧。在团队协作和版本管理中,这款工具无疑是一个不可或缺的辅助...

    Laravel开发-lara-pdf-merger .zip

    在实际应用中,Laravel可能会通过控制器处理请求,接收用户上传的PDF文件,然后调用这些库的方法进行合并。控制器可以使用Eloquent ORM与数据库交互,存储和检索文件信息。同时,Laravel的视图层可以用于创建用户...

    PDF_MERGER.zip

    PDF_MERGER.zip是一个压缩包,其主要目的是为了便于作者与他人分享和交流关于PDF文件合并的技巧和工具。PDF(Portable Document Format)是一种广泛使用的文档格式,它能保留原始文档的格式和内容,便于跨平台查看和...

    PyPI 官网下载 | inspire-json-merger-7.0.8.tar.gz

    "PyPI 官网下载 | inspire-json-merger-7.0.8.tar.gz" 这个标题揭示了我们正在讨论的是一个从Python Package Index(PyPI)官方源下载的软件包。...通过了解其功能和使用方法,可以提升数据处理的效率和便捷性。

Global site tag (gtag.js) - Google Analytics