2017-11-30 3 views
1

私のDBコースのアンドロイドプロジェクトに取り組んでいますが、私はレルムDBを使用していますが、そのレルムには外来キーがありません(レルムはDBではありません)ので、外部キーとして使用する他のソリューションですか?私はレルムDBを使用していますが、外部キーはありません。

私はクラス構成を使用することを考えていましたが、それは機能しますか?

答えて

1

レルムには「リレーションシップ」(「リンク」とも呼ばれます)の概念があります。

public class A extends RealmObject { 
    B b; 
} 

多くの関係:1の関係

public class A extends RealmObject { 
    RealmList<B> bs; 
} 

そして、それらの関係のいずれかのために、逆の関係(レルムJavaが3.5.0+)が存在する

public class A extends RealmObject { 
    B b; 

    RealmList<B> bs; 
} 

public class B extends RealmObject { 
    @LinkingObjects("b") 
    private final RealmResults<B> fromB = null; 

    @LinkingObjects("bs") 
    private final RealmResults<B> fromBs = null; 
} 

ifオブジェクトが管理されていない場合、insertOrUpdate()/copyToRealmOrUpdate()AとそのインスタンスBの両方をレルムに挿入します。

オブジェクトが管理されている場合は、値として設定したオブジェクトも管理する必要があります。

A a = realm.createObject(A.class); 
a.setB(realm.createObject(B.class)); // or copyToRealmOrUpdate(b) or .findFirst() etc 
関連する問題