gpt4 book ai didi

java - Android Room 分页 - 如何读取两个表?

转载 作者:行者123 更新时间:2023-12-02 09:32:40 24 4
gpt4 key购买 nike

我有一个帖子表,它存储来自服务器的论坛帖子。这些帖子有评论,我将其存储在名为“评论”的不同表下。目前,我正在使用 Room 分页库和 PagedAdapter 来列出数据库中的帖子。现在我需要显示热门评论和帖子。如何将两个表的结果合并到一个数据源中?处理这种情况的正确方法是什么?

最佳答案

简短的回答是您需要使用 relations 。示例:

@Entity
public class Comment{
@PrimaryKey
public int id; // comment id
public int postId; // post id this comment belongs to
public String comment;
}

这是一个带有评论的帖子的 POJO,它将成为查询的结果

// Note: No annotation required at this class definition.
public class PostWithComments {
@Embedded
public Post post;

@Relation(parentColumn = "id", entityColumn = "postId", entity = Comment.class)
public List<Comment> comments;
}

您的查询将是:

@Dao
public interface PostCommentsDao {
//Query
@Query("SELECT * FROM Post")
public List<PostWithComments> loadPostWithComments();
}

这将使所有帖子以及属于每个帖子的所有评论都包含在漂亮的 POJO 中。

关于java - Android Room 分页 - 如何读取两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57822295/

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