gpt4 book ai didi

java - Hibernate JPA,在同一事务中删除和添加

转载 作者:行者123 更新时间:2023-11-30 22:58:21 25 4
gpt4 key购买 nike

我已经有一段时间没有使用 Hibernate 了,现在又开始使用它了。我正在使用 Hibernate JPA。

编辑问题

如何在同一事务中删除和添加对象?我有一个请求在 Controller 中映射到到达 dao 层的服务层。我想删除一个对象,制作该对象的副本,然后重新添加该对象,但我认为持久性上下文正在刷新,因此我可以完成删除,但随后在尝试时出现分离实体异常在 Controller 层重新添加对象。这可能是一个新手错误...帮助?!

  • 用户<- 保留
    • 关联<- 删除
    • 关联<- 删除
    • 关联<- 删除
    • ...
    • 关联<- 删除

原始问题

我正在尝试创建一个函数来删除所有具有 MainRecord 外键的记录。目前,所有具有 MainRecord 外键的表都设置为级联删除,因此如果我删除 MainRecord,它会自动删除所有内容。

我想要的状态是删除除主记录之外的所有记录,这样就好像 MainRecord 刚刚插入到系统中,在此之后与它建立的任何关联都将被保存。虽然有很多表使用 MainRecord,但我不想编写自定义查询来从每个表中删除记录,所以我想删除 MainRecord,创建一个副本,然后将其重新添加到数据库。

虽然我觉得应该有一种方法可以在不删除 MainRecord 的情况下执行此操作。

有更好的方法吗?

最佳答案

这可能在一定程度上是我将对象传送到后端的方式;可能是在我完成两个事务之前连接正在刷新;我仍然不确定我是否理解确切的原因,但我想出了一种方法让它按照我需要的方式工作。

我最终依靠客户端调用删除,然后在删除调用完成后调用添加,这很有效。我怀疑它是否理想...所以我仍然对其他解决方案持开放态度,但它确实有效...

关于java - Hibernate JPA,在同一事务中删除和添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com