首页 Java java – 删除的实体传递给持久异常

java – 删除的实体传递给持久异常

我有这样的实体: Document | n .. to ..1 | DocumentType | 1 .. to .. n | PropertyType | 1 .. to .. n | DocumentProperty 我只是尝试删除一个文件,如: entityManager.remove(文件); 但是发生错误: 16:45:51,499 ERROR [[Seam Resource Servl

我有这样的实体:

Document
| n ..
to
..1 |
DocumentType
| 1 ..
to
.. n |
PropertyType
| 1 ..
to
.. n |
DocumentProperty

我只是尝试删除一个文件,如:
entityManager.remove(文件);

但是发生错误:

16:45:51,499 ERROR [[Seam Resource Servlet]] Servlet.service() for servlet Seam Resource Servlet threw exception
javax.persistence.EntityNotFoundException: deleted entity passed to persist: [up.docstore.PropertyType#]

这个问题似乎来自于这里:

@OneToMany(mappedBy = "documentType",cascade = {CascadeType.ALL},fetch = FetchType.EAGER)
@ForeignKey(name = "FK_DOCUMENT_TYPE__PROPERTY_TYPE")
@Sort(type = SortType.NATURAL)
private SortedSet<PropertyType> propertyTypes = new TreeSet<PropertyType>();

如果我删除CascadeType.PERSIST所有它的工作.
但我需要它在那里,我也需要它EAGERLY.

有没有人知道其他解决方案?

编辑:删除DELETE_ORPHAN级联,但仍然是同样的问题.

解决方法

解:

  • There was a CascadeType.REMOVE in a @ManyToOne relationship ! Removed it.

为什么这个解决方案?

  • if you want to delete a child you SURELY do not want to delete its parent because there can be other children related to that parent.

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/java/20200721/6537.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部