gpt4 book ai didi

android - 我正在使用 Realm 数据库并且它没有外键..有没有其他解决方案?

转载 作者:搜寻专家 更新时间:2023-10-30 23:32:27 25 4
gpt4 key购买 nike

伙计们,我正在为我的数据库类(class)开发一个 android 项目,我正在使用 Realm 数据库,但问题是我刚刚发现 Realm 没有外键( Realm 不是关系数据库)所以我想知道是否还有其他解决方案可以用作外键吗?

我正在考虑使用类组合,但它行得通吗?

最佳答案

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

关于android - 我正在使用 Realm 数据库并且它没有外键..有没有其他解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47580858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com