休眠更新我的实体

休眠更新我的实体,第1张

休眠更新我的实体

您已经在评论中看到了片段,但让我将其汇总为一个答案:

我认为这是因为我在执行逻辑时更改了实体中的某些数据

这种解释是正确的。

如果您通过JPA加载实体,则该实体将附加到会话中,一旦关闭会话/提交事务,对它的所有更改都会被跟踪并写入数据库。

为了避免这种情况,您需要从会话中删除实体。您可以通过

  • 将实体与持久性上下文分离:https : //docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html#detach-java.lang.Object-

  • 在进行 *** 作之前,请关闭EntityManager /事务。这基本上意味着您对最外部方法之外的实体进行了注释

    @Transactional

请注意,在这两种情况下,延迟加载都不再起作用,因此,在分离实体之前,必须确保已加载了所需的所有内容。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5621706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存