spring - 使用 Spring Data Jpa 保存相反实体时集合未更新
问题描述
我有两个处于一对多关系的实体:
父实体:
@OneToMany(mappedBy = "parent")
public List<Child> getChildren()
子实体:
@ManyToOne
@JoinColumn(name = "PARENT_ID")
public Parent getParent()
考虑以下代码(内部事务):
Child child = childRepository.findById(id).get();
Parent parent = child.getParent();
child.setParent(null);
childRepository.saveAndFlush(child);
List<Child> children = parent.getChildren();
在这种情况下,“子”列表仍将包含子实体,尽管它已被删除。我尝试刷新存储库,保存父实体,甚至从 parentRepository 获取一个新实体,但这些都不起作用。
为什么子列表在保存时未更新,如何确保集合是最新的而不显式删除实体(我想对集合中的实体进行进一步操作)?
解决方案
推荐阅读
- image - 使用 terraform 从图像创建 azure vm
- java - Java/黄瓜报告不使用 masterthought 生成报告
- javascript - VPAID JavaScript 广告素材
- php - PHP for-loop 的 sql-update 在使用 mysqli_query() 时不起作用,但 echo'd 语句通过
- python - Python / Powershell / Batch脚本通过文件名参数将文件从一个位置移动到另一个位置?
- c++ - 头文件中用“new”定义的成员指针是否存在内存泄漏?
- r - tokens_replace() 仅适用于 stri_trans_general() 而不适用于 Encoding()
- python - 将 Deploy-mode 设置为来自 jupyter 的 pyspark 集群
- node.js - 我如何制作spring websocket + node.js客户端
- git - 我可以按任何顺序挑选提交吗