从Android域中的子级访问父级
我正在使用Realm1.2.0为Android创建一个聊天应用程序 以下是我创建的两个最小化模型:从Android域中的子级访问父级,android,sqlite,orm,many-to-many,realm,Android,Sqlite,Orm,Many To Many,Realm,我正在使用Realm1.2.0为Android创建一个聊天应用程序 以下是我创建的两个最小化模型: public class Room extends RealmObject { private String name; private RealmList<Message> messages; } public class Message extends RealmObject { @PrimaryKey private long id;
public class Room extends RealmObject {
private String name;
private RealmList<Message> messages;
}
public class Message extends RealmObject {
@PrimaryKey
private long id;
private String text;
}
但我也希望从子对象访问父对象,如下所示:
message.getRoom()
在Realm中不需要再次手动查询所有房间就可以做到这一点吗?该概念已被调用,但它们还不在。事实上,它们正处于设计阶段左右,所以在自动反向关系可用之前需要一段时间
因此,目前你需要自己维护关系的双方
public class Room extends RealmObject {
private String name;
private RealmList<Message> messages;
}
public class Message extends RealmObject {
@PrimaryKey
private long id;
private String text;
private Room room;
}
嗯,那太不幸了。但是谢谢你的临时解决方案!
public class Room extends RealmObject {
private String name;
private RealmList<Message> messages;
}
public class Message extends RealmObject {
@PrimaryKey
private long id;
private String text;
private Room room;
}
r.executeTransaction((realm) -> {
Room room = realm.where(Room.class).equalTo("name", name).findFirst();
Message message = new Message();
message.setId(getNextId());
message.setText(text);
message.setRoom(room);
message = realm.copyToRealmOrUpdate(message);
room.getMessages().add(room);
}