【问题标题】:How to do full branch ancestry queries with Room?如何使用 Room 进行完整的分支祖先查询?
【发布时间】:2018-02-10 00:47:58
【问题描述】:

我试图将路径枚举硬塞到 Room 中。有两个主要的过滤用例:

  • 隐藏文件夹 A 隐藏后代 AA、AB 等。
  • 或者选择嵌套关键字“巴伐利亚”会选择所有祖先“欧洲”>“德国”>“巴伐利亚”。

这些表不会变大,所以效率不是问题,所以我开始实现简单的路径具体化查询:

1 | Europe  | /1
---------------------
2 | Germany | /1/2
---------------------
3 | Bavaria | /1/2/3
---------------------
4 | Asia    | /4

后代:

WHERE :path LIKE column || '%'

祖先:

WHERE column LIKE :path || '%'

这需要在每个插入中映射路径。没什么大不了的,但不是简单的插入。

使用 Room 可以更轻松地完成这些完整的分支查询吗?

【问题讨论】:

    标签: tree android-room


    【解决方案1】:

    这是我在 1.1.0 中使用新 @RawQuery 的解决方案:

    https://gist.github.com/rcketscientist/4ded9ae64a770ff6929f27b5dbdbe13a

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2014-10-23
      • 1970-01-01
      • 2015-01-12
      • 2017-11-25
      • 1970-01-01
      相关资源
      最近更新 更多