当懒惰的子级被另一个事务删除时的JPA休眠行为

时间:2018-10-08 10:04:06

标签: java hibernate jpa

假设我有一个与懒惰子代一对一关系的Parent类。假设有两个正在运行的交易(查询同一个父子交易):一个交易只是更新或获取全部内容,而另一个交易则删除了该子交易。如果删除首先提交,则后面的事务对getChild()的调用是否返回null?既然无法再查询孩子了?

1 个答案:

答案 0 :(得分:1)

是的!它将返回null。 如果一个关系标记为LAZY,则直到您调用子记录的getter方法,该子记录才会加载。 然后休眠将执行查询以从数据库中加载它。 因此,如果一项交易删除了子记录,则另一条记录将具有空值。