【问题标题】:Spring R2DBC How delete a relation entitySpring R2DBC 如何删除关系实体
【发布时间】:2022-07-30 19:55:20
【问题描述】:

我有两个实体 A 和 B 和一个多对多关系实体 AB。 如何在没有终端动作的情况下以最合适的反应方式实现以下序列

  1. 通过 idAB 获取 AB
  2. 通过 AB.idA 获取 A,更新并保存 A
  3. 通过 Ab.idB 获取 B,更新并保存 B
  4. 通过 idAB 删除 AB
  5. 返回更新后的 A 先感谢您, 谢尔盖

【问题讨论】:

    标签: spring-data-r2dbc


    【解决方案1】:

    看来最好的办法如下

            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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-22
      • 2018-07-04
      • 1970-01-01
      • 1970-01-01
      • 2019-07-09
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多