2017-12-02 26 views
0

Realmデータベースに移行するSQLiteデータベースがあります。Realmを使用したNosqlデータベース構造

これは、とりわけ、assocテーブル、plantテーブルとdefinitionテーブル、あります

enter image description here

連想テーブルが2つの工場を関連付けます。定義テーブルは、異なる言語でプラントの名前を作成します。

私は自分のPOJOオブジェクトにマッピングされたレルムデータベースを使用しているので、私のアソシエーションテーブル(クラスRealm相当)にマップされたクラスがあります。このassocクラスには、plant_id1とplant_id2の2つのListが含まれています。問題は、すべての工場ですべてのassocを取り出すことができなければならないことですが、私は でもassocを必要とせずにすべての別個のプラントを見つけることができなければなりません....私はデータモデリングnosqlを使って...しかし、どうすればいいですか?私はassocの植物データとassocの外の植物のリストを複製する必要がありますか?私はここで完全にはっきりしているとは確信していません。

答えて

1

私は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を持つことができない、間違っているようです。とにかく各言語の名前のフィールドを持っている可能性が最も高いです。

+0

ありがとうございます。あなたは定義のために正しいです。 – Laurent

関連する問題