我有一个包含id
和parentId
列的表:我将此结构称为邻接列表。
所以,现在我想得到任意 id 的所有孩子。这个问题的经典解决方案使用递归,例如这里是 Postgres 过程或 CTE 实现。
我目前正在使用 Spring Webflux 和 Spring Data R2DBC + Postgres R2DBC 驱动程序(尚不支持存储过程)。
我怎样才能以反应式的方式解决这个问题?甚至有可能还是我错过了一些概念上的错误?
UPD 1:
让我们想象一下我们的数据如下:
+-------------+---------+
|id |parent_id|
+-------------+---------+
|root |NULL |
|id1 |root |
|dir1 |root |
|dir1_id1 |dir1 |
|dir1_dir1 |dir1 |
|dir1_dir1_id1|dir1_dir1|
+-------------+---------+
现在我想在ReactiveCrudRepository中有一个方法,它将返回提供的 id 的所有孩子。
例如,使用示例数据:通过提供 id='dir1',我想获取具有 ids 的孩子:['dir1_id1', "dir1_dir1", "dir1_dir1_id1"]。