我正在使用领域数据库并且它没有外键..有没有其他解决方案?
I'm using realm DB and it has no Foreign keys .. is there any alternative solution?
伙计们,我正在为我的数据库课程开发一个 android 项目,我正在使用领域数据库,但问题是我刚刚发现领域没有外键(领域不是关系数据库) 所以我想知道是否有任何其他解决方案可以用作外键?
我正在考虑使用 class 组合,但它行得通吗?
Realm 有 "relationships" 的概念(也称为 "links")。
一对一关系:
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
伙计们,我正在为我的数据库课程开发一个 android 项目,我正在使用领域数据库,但问题是我刚刚发现领域没有外键(领域不是关系数据库) 所以我想知道是否有任何其他解决方案可以用作外键?
我正在考虑使用 class 组合,但它行得通吗?
Realm 有 "relationships" 的概念(也称为 "links")。
一对一关系:
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