使用 android 数据持久库 Android Room 时,如何直接将包含所有字段值的Comment
对象插入数据库,以及如何将所有值作为注释对象查询出来?
据我所知,我不能将Comment
对象用作房间目录中的Entity
,因为字段replyComment
也是一个Comment
对象。即使我使用 @Relations
注释定义 POJO,我也无法查询出Comment
对象,因为Comment
对象中包含一对一关系和一对多关系。
除了更改Comment
模型定义(例如使用外键、对插入操作和查询操作产生影响)之外,还有其他方法吗?
public class Comment {
public String content;
public String id;
public Comment replyComment;
public User user;
public List<ImageMedia> images;
}
public class User{
public String id;
public String name;
}
public class ImageMedia{
public String key;
public String url;
}
除了更改注释模型定义之外,还有其他方法吗
不。您需要创建一组对数据库结构进行建模的实体,其中子项具有指向其父项的外键列:
-
CommentEntity
有一个外键返回CommentEntity
以进行回复 -
CommentEntity
有一个外键回到UserEntity
-
ImageMediaEntity
有一个外键返回CommentEntity