我在Android中使用Greendao进行数据库映射。到目前为止,一切都很好。
但现在我有以下问题:
我有一个集群和叶子对象。一个集群包含许多叶对象。如果一个簇被缩放,它可以拆分成更多的簇和更多的叶子。这不是一个严格的树关系,更多的是一个大集群有很多叶子,但一个小集群可以有这个叶子的一个子集。
基本上一个簇有许多叶,但是叶也在多个簇中,因为叶的id是唯一的,并且与簇的关系保存在叶中,叶只能在一个簇中,对吗?
greendao主页指出,多对多关系是可能的,但我无法理解如何对这种关系进行建模。
是否有可能对这种关系进行建模,或者数据结构是GreenDao的一个问题吗?
发布于 2013-02-13 00:40:55
让我们从docs中的一句话开始
虽然到目前为止,greenDAO不直接支持n:m关系,但您可以将连接表建模为单独的实体。在实践中,您通常具有带有附加属性的“关系实体”,因此无论如何您都可能想要这样做。在未来的版本中,greenDAO可能会引入对n:m关系的直接支持。
因此,在您的情况下,您必须对一个实体进行建模,即在Cluster和Leaf之间。让我们将此实体命名为ClusterLeaf。为了高效地查询集群的leafs,我建议使用原始queries,因为QueryBuilder还不支持joins。
https://stackoverflow.com/questions/14836316
复制相似问题