【问题标题】:JPA-Hibernate behaviour when a Lazy child is deleted by another transaction另一个事务删除延迟子项时的 JPA-Hibernate 行为
【发布时间】:2023-03-25 10:17:01
【问题描述】:

假设我有一个与 Lazy Child 一对一关系的 Parent 类。假设有两个事务(查询同一个父子)正在运行:一个只是更新或者可能获取整个事物,而另一个删除子。如果删除首先提交,那么后面的事务对 getChild() 的调用会返回 null 吗?既然不能再查询孩子了?

【问题讨论】:

    标签: java hibernate jpa


    【解决方案1】:

    是的!它将返回空值。 如果标记为 LAZY 的关系,则在调用它的 getter 方法之前不会加载子记录。 然后休眠将执行一个查询以从数据库中加载它。 所以如果一个事务删除了子记录,另一个将面临空值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      相关资源
      最近更新 更多