java - 如何恢复具有 ManyToOne 关系的 JPA 实体

标签 java jpa merge entitymanager

我有一个 JPA 实体(人),与其他实体(地址)具有 ManyToOne 关系。在系统使用某个对象之前,该对象必须得到主管的批准。我将原始实体存储为 byte[] 并对“工作”实体进行更改并将其存储在数据库中。如果此更改不被批准,我必须恢复原始状态。因此,我将存储的原始数据从 byte[] 转换,并使用实体管理器将其合并到数据库中。一切正常,但如果新的地址实体已添加到“工作”人员中,则在合并恢复的原始实体后,该实体不会从数据库中删除。我知道为什么会这样,但不知道如何解决我的问题。有什么想法吗?

最佳答案

@ManyToOne 上的orphanRemoval=true 解决了问题

关于java - 如何恢复具有 ManyToOne 关系的 JPA 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13761294/

相关文章:

java - 为什么 Java AffineTransforms 是反向复合的?

java - entityManagerFactory 未命名时 "entityManagerFactory"

python - Pandas 合并和求和数据帧

visual-studio - Team Foundation Server(TFS)文件差异查看器-使用其他工具进行自定义

java - 在 Java 中重命名 Zip 文件中的文件/文件夹?

java - 在 java 中替换 bibtex 或 latex {\dg} 字符串命令

java - 将 jar 从 war 中移除

java - 将 Varchar 列类型映射到实体 jpa 中的 Integer

java - 使用 JPA 持久保存 PK 对象(ManyToMany)

java - 如何仅使用递归来合并2个已排序的链表