How to do full branch ancestry queries with Room?
我试图将路径枚举进入Room。 有两个主要的过滤用例:
- 隐藏文件夹A隐藏后代AA,AB等。
- 或者,选择嵌套关键字"Bavaria"选择所有祖先"Europe">"Germany">"Bavaria"。
这些表不会变得很大,因此效率不那么令人担忧,所以我开始实现简单的路径实现查询:
1 2 3 4 5 6 7 | 1 | Europe | /1 --------------------- 2 | Germany | /1/2 --------------------- 3 | Bavaria | /1/2/3 --------------------- 4 | Asia | /4 |
后人:
1 | WHERE :path LIKE column || '%' |
祖先:
1 | WHERE column LIKE :path || '%' |
这需要在每个插入中映射路径。 没什么大不了的,但不是简单的插入。
使用Room可以更轻松地完成这些完整的分支查询吗?
这是我在1.1.0中使用新的
https://gist.github.com/rcketscientist/4ded9ae64a770ff6929f27b5dbdbe13a