【发布时间】:2022-07-30 19:55:20
【问题描述】:
我有两个实体 A 和 B 和一个多对多关系实体 AB。 如何在没有终端动作的情况下以最合适的反应方式实现以下序列
- 通过 idAB 获取 AB
- 通过 AB.idA 获取 A,更新并保存 A
- 通过 Ab.idB 获取 B,更新并保存 B
- 通过 idAB 删除 AB
- 返回更新后的 A 先感谢您, 谢尔盖
【问题讨论】:
我有两个实体 A 和 B 和一个多对多关系实体 AB。 如何在没有终端动作的情况下以最合适的反应方式实现以下序列
【问题讨论】:
看来最好的办法如下
abRepository.findById(abId)
.flatMap(ab->abRepository.deleteById(abId).thenReturn(ab))
.flatMap(ab-> bRepository.findById(ab.getBId())
.flatMap(b->bRepository.save(b.update(ab)).thenReturn(ab)))
.flatMap(ab-> aRepository.findById(ab.getAId())
.flatMap(a->aRepository.save(a.update(ab))))
(a,b,ab) 存储库在哪里扩展 ReactiveCrudRepository。
【讨论】: