自从我使用Hibernate之后已经有一段时间了,而且刚刚再次使用它。我正在使用Hibernate JPA。
如何在同一个交易中删除和添加对象?我有一个请求映射到控制器到达到dao层的服务层。我想删除一个对象,制作该对象的副本,然后重新添加该对象,但我认为持久化上下文正在刷新,所以我可以完成删除,但是在尝试时我得到一个分离的实体异常在控制器层重新添加对象。这可能是一个新手的错误......帮助?!
我试图创建一个函数来删除所有带有MainRecord外键的记录。目前,所有具有MainRecord外键的表都设置为在删除时级联,因此如果我删除MainRecord,它将自动删除所有内容。
我想要的状态是删除除主记录之外的所有记录,这样就像刚刚插入系统的MainRecord一样,之后保存的任何关联都将被保存。虽然有很多表使用MainRecord,但我不想写一个自定义查询来从每个表中删除记录,所以我想删除MainRecord,创建一个副本,并将其重新添加到数据库中。
虽然我觉得应该有办法在不删除MainRecord的情况下执行此操作。
有更好的方法吗?
答案 0 :(得分:0)
部分原因可能是我将物体送到了后端;在完成两笔交易之前,可能是连接正在刷新;我仍然不确定我是否明白这个原因,但我找到了一种让它以我需要的方式工作的方法。
我最终依靠客户端拨打删除电话,然后在完成删除调用后拨打电话进行添加,这样就行了。我怀疑这是理想的......所以我仍然愿意接受替代解决方案,但它有效......