代码之家  ›  专栏  ›  技术社区  ›  Laurent

具有领域的Nosql数据库结构

  •  0
  • Laurent  · 技术社区  · 7 年前

    我有一个SQLite数据库要迁移到Realm数据库。

    除其他外,它还有一个 assoc 表a plant 表和a definition 表:

    enter image description here

    assoc表将两个工厂关联起来。定义表包含了不同语言的植物名称。

    由于我使用映射到POJO对象的领域数据库,所以我有一个映射到assoc表的类(领域等价物)。该assoc类包含plant\u id1和plant\u id2的两个列表。问题是我必须能够检索所有工厂的所有assoc,但我必须能够 找到所有不同的植物也不需要assoc。。。。我想在使用nosql进行数据建模时有一些我不理解的地方。。。但是我该怎么做呢?我必须在assoc和assoc之外的植物列表中复制我的植物数据吗?我不确定这里是否完全清楚。。。

    1 回复  |  直到 7 年前
        1
  •  1
  •   EpicPandaForce    7 年前

    我想在使用nosql进行数据建模时有一些我不理解的地方。。。但是我该怎么做呢?

    public class Plant extends RealmObject {
        // PK
        RealmList<Plant> associatedPlants;
    
        @LinkingObjects("plant1")
        private final RealmResults<Assoc> assoc1 = null;
    
        @LinkingObjects("plant2")
        private final RealmResults<Assoc> assoc2 = null;
    
        @LinkingObjects("associatedPlants")
        private final RealmResults<Plant> associatedByPlants = null;
    }
    
    public class Assoc extends RealmObject {
        // PK
        Plant plant1;
        Plant plant2;
    }
    

    你的定义似乎是错误的,如果你想让多个定义属于工厂,那么你不能有 definitionId 在工厂里。无论如何,我很可能只为每种语言的名称都有一个字段。