伙计们,我正在为我的数据库课程开发一个 android 项目,我正在使用领域 DB,但问题是我刚刚发现领域没有外键(领域不是关系数据库)所以我想知道是否有任何用作外键的其他解决方案?
我正在考虑使用课堂组合,但它会起作用吗?
伙计们,我正在为我的数据库课程开发一个 android 项目,我正在使用领域 DB,但问题是我刚刚发现领域没有外键(领域不是关系数据库)所以我想知道是否有任何用作外键的其他解决方案?
我正在考虑使用课堂组合,但它会起作用吗?
Realm 有“关系”的概念(也称为“链接”)。
一对一关系:
public class A extends RealmObject {
B b;
}
对多关系:
public class A extends RealmObject {
RealmList<B> bs;
}
对于这些关系中的任何一个,都存在反向关系(Realm 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;
}
如果一个对象是非托管的,那么insertOrUpdate()
/copyToRealmOrUpdate()
将把它们A
和它的实例都插入B
到 Realm 中。
如果一个对象是托管的,那么您设置为值的对象也必须是托管的。
A a = realm.createObject(A.class);
a.setB(realm.createObject(B.class)); // or copyToRealmOrUpdate(b) or .findFirst() etc