使用 JPA 将某些字段的值设置为 null

2024-01-04

在jpa合并中,是所有列都更新还是仅更新具有新值的列?

在更新时,如果我将某些属性的值设置为空,空值将存储在数据库的该列中,还是会保留以前的值?


当合并实体X时,整个州X 的将被“合并”(当然,如果 X 是有效的“候选者”)。 JPA 1.0 规范是这样说的:

3.2.4.1 合并分离实体状态

合并操作允许 从分离状态传播 实体到持久实体 由EntityManager管理。

合并操作的语义 应用于实体 X 的规则如下:

  • 如果 X 是一个独立实体,X的状态被复制到一个预先存在的 同一管理实体实例 X' 身份或 X 的新托管副本 X' 被建造。
  • 如果 X 是新的实体实例,则创建新的托管实体实例 X' X 的状态被复制到 新的受管实体实例 X'。
  • 如果 X 是已删除的实体实例,则IllegalArgumentException将 由合并操作抛出(或 事务提交将会失败)。
  • 如果 X 是托管实体,则合并操作将忽略它, 然而,合并操作是 级联到引用的实体 与 X 的关系,如果这些 关系已注释为 级联元素值cascade=MERGE or cascade=ALL注解。
  • 对于由 X 的关系引用的所有实体 Y 具有 级联元素值cascade=MERGE or cascade=ALL, Y 递归合并 作为Y'。对于所有这样的 Y 引用 X、X'设置为参考Y'。 (笔记 如果 X 被管理,那么 X 就是 与 X' 相同的对象。)
  • 如果 X 是合并到 X' 的实体,并引用另一个实体 Y,其中cascade=MERGE or cascade=ALL是 未指定,则导航 来自 X' 的相同关联产生 对托管对象 Y' 的引用 与 Y 具有相同的持久身份。

持久性提供者不得 合并标记为 LAZY 且未标记为 LAZY 的字段 已获取:它必须忽略此类 合并时的字段。

Any Version使用的列 实体必须由 持久化运行时实现 在合并操作期间和/或在 刷新或提交时间。离席期间 的Version列没有 额外的版本检查由 持久化提供者运行时 在合并操作期间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JPA 将某些字段的值设置为 null 的相关文章

随机推荐

  • 页面加载后,Xamarin WebView.CanGoBack 和 CanGoForward 始终返回 false

    我是 Xamarin Forms 的新手 如果我没有使用正确的词语 请原谅 我创建了一个名为 WebBrowser 的解决方案 以创建一个简单的移动浏览器 目前我正在处理通用文件主页 xaml and MainPage xaml cs 我正
  • MongoError:驱动程序与此服务器版本不兼容

    我刚刚安装了 Mongo Node 等 当我尝试通过 Nodejs 服务器更新数据库时 出现以下错误 MongoError driver is incompatible with this server version 这是我拥有的版本 N
  • 选择查询中 geo.distance 函数的返回值

    我正在使用 select 来查询索引 我想返回索引中 GeographyPoint 的距离 我正在尝试这样的事情 其中 GeoPoint 是位置字段 select ID geo distance GeoPoint geography POI
  • MySQL DELETE FROM 与 IN 条件的 UNION 子查询

    我遇到了一个奇怪的 SQL 错误 最后一个查询不起作用 当然 我可以将 DELETE 拆分为三个查询 但我真的想知道为什么 MySQL 不允许我这样做 一个小例子 SELECT id FROM stairs WHERE building 1
  • 如何测试某些程序集是否已加载到内存中? [复制]

    这个问题在这里已经有答案了 我有一些代码使用 Crystal Reports 运行时库来生成和丢弃一个小虚拟报告 以确保在用户创建真实报告之前将库及时加载到内存中 这是一个 感知性能 问题 当用户生成报告时 性能得到显着改善 因此显然一切正
  • 如何在日历日视图中添加圆形装饰器?

    我在用npanigrahy Custom Calendar View显示我的自定义日历 但我的问题是如何在日历中创建的事件上添加圆形项目符号 这是最好的使用方式this https github com prolificinteractiv
  • 无法为 iOS 编译 LAME

    我正在尝试将 lame mp3 编码器编译为 iOS 的静态库 我想支持所有架构 包括 i686 armv6 armv7 armv7s 和 arm64 这是我的构建脚本 bin bash DEVELOPER xcode select pri
  • 使用 Cocoa 遵循渐变路径

    我希望找到一种方法来遵循带有渐变的路径 以便渐变沿着路径的切线变化 Sorta like this 然而 到目前为止 我在搜索中找到的解决方案都使用了使用形状图层来掩盖渐变图层的变体 Which results in an unwanted
  • 没有 XmlRootElement 注释的 JAXB 解组?

    有没有什么方法可以在没有 XmlRootElement 注释的情况下对类进行解组 或者我们有义务输入注释吗 例如 public class Customer private String name private int age priva
  • 经典 ASP - 解析 JSON XMLHTTP 返回

    我无法找到一种好方法来解析从 XMLHTTP 获得的返回值 返回的是 JSON 用于获取 JSON 的 ASP 代码
  • 当我进行ajax调用时,尝试使用角度添加加载轮?

    我试图在进行 ajax 调用时实现加载轮指令 因此在响应时间内我想显示加载时间 使用下面的代码我没有看到任何错误 加载轮也没有 有没有更好的方法使用 angularJs 实现加载轮 or 下面的代码中实现了什么错误 主要 html
  • 缺少基础 SDK?

    我终于下载了新版本的 Xcode 和 iOS4 并最终尝试将我的第一个应用程序放到设备上 我正在查看配置文件并到达需要打开 Xcode 的地步 然后 设备 下拉菜单中只显示 Base SDK Missing 如果我进入 项目 gt 设置活动
  • TYPO3 TCA 类型在 FLUID 中选择?

    我在 T3 后端使用 TCA 类型选择 renderType selectMultipleSideBySide 这里是 TCA 代码 features gt array label gt Zusatz config gt array typ
  • 如何从 java.util.date 转换为 JodaTime 并获得相同的日期

    我关注这个问题 从 java util date 转换为 JodaTime https stackoverflow com questions 5042587 convert from java util date to jodatime
  • 为什么Java中的Float.MIN_VALUE是正值? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 您认为 Float MIN VALU
  • CALayer:单个像素线看起来像 2 个像素

    这是我的代码 int columns 3 int columnWidth self layer bounds size width 3 for int c 1 c lt columns c CALayer layer CALayer lay
  • 与私有接口比较

    我有两个对象 key1属于类型 rsa PublicKey key2属于类型 ssh PublicKey这是一个隐藏了一个接口 ssh rsaPublicKey目的 ssh rsaPublicKey定义为 type ssh rsaPubli
  • 使用 rvest 提交表单时出现“错误:与 STRSXP 不兼容”

    我已经在 stackoverflow 和 github 上搜索过 但还没有看到这个问题的解决方案 session lt read html http www whitepages com form1 lt html form session
  • 在 Browserify 应用程序中注入数据

    这里有人知道如何将数据注入 Browserify 应用程序吗 我的意思是 我使用 Browserify 创建一个大的捆绑 app js 文件 但是当我的单页应用程序启动时 服务器还会将一些引导数据添加到加载应用程序的 HTML 页面中 以便
  • 使用 JPA 将某些字段的值设置为 null

    在jpa合并中 是所有列都更新还是仅更新具有新值的列 在更新时 如果我将某些属性的值设置为空 空值将存储在数据库的该列中 还是会保留以前的值 当合并实体X时 整个州X 的将被 合并 当然 如果 X 是有效的 候选者 JPA 1 0 规范是这