1
私のDBコースのアンドロイドプロジェクトに取り組んでいますが、私はレルムDBを使用していますが、そのレルムには外来キーがありません(レルムはDBではありません)ので、外部キーとして使用する他のソリューションですか?私はレルムDBを使用していますが、外部キーはありません。
私はクラス構成を使用することを考えていましたが、それは機能しますか?
私のDBコースのアンドロイドプロジェクトに取り組んでいますが、私はレルムDBを使用していますが、そのレルムには外来キーがありません(レルムはDBではありません)ので、外部キーとして使用する他のソリューションですか?私はレルムDBを使用していますが、外部キーはありません。
私はクラス構成を使用することを考えていましたが、それは機能しますか?
レルムには「リレーションシップ」(「リンク」とも呼ばれます)の概念があります。
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