领域:如何构建一对多关系

Realm : How to structure one to many relationship

我一直在查看 android 中的许多 ORM,到目前为止我已经使用并且适合我的应用程序的是 ActiveAndroid 和 SugarOrm,但目前不支持我需要的(不支持)但现在可以通过创建 sql 脚本来修复)(一对多关系)。我正在为 android 寻找一个非常有前途的领域 ORM。

Realm 可以吗?

// this is just a sample of what i need to do.,
// parent
class Message{
  long id;
  List<Meta> messages;
}

// child
class Meta{
  long senderId;
  String message;
  Date date;
  int status;
}

// I have already know how to do this on ActiveAndroid but seems a bit hard
// to update records or fetch single data.

注意:我最近在手动创建我的 SQL 脚本时遇到了问题,当 ORM 存在时,对所有这些进行编码非常耗时,而且当我必须更改某些内容时非常烦人重组大部分受影响的列等

我希望我已经清楚地问了我的问题,我希望有更好的方法。

谢谢

是的,Realm 非常有可能做到这一点。 Realm 是一个对象存储,因此它按原样存储您的对象。在普通对象模型中,一对多关系是使用列表定义的,与 Realm 相同,它有一个名为 RealmList 的特殊列表,您可以使用。

在 Realm 中,您拥有的模型应定义如下:

class Message extends RealmObject {
  private long id;
  private RealmList<Meta> messages;

  // Getters and setters
}

class Meta extends RealmObject {
  private long senderId;
  private String message;
  private Date date;
  private int status;

  // Getters and setters
}