如何在 Java 中获取包含其评论的 MySQL 文章数据?

如何在 java 中获取包含其评论的 mysql 文章数据?

如何获取包含其评论的 java mysql 数据

java 中,可以使用 mysql jdbc 驱动连接到 mysql 数据库并查询数据。对于此特定问题,我们想从 article 表中获取文章内容,以及每篇文章下的前 5 条评论。

为此,可以使用 sql left join 查询,如下所示:

select
    a.id,
    a.content,
    c.id as comment_id,
    c.comment
from
    article as a
left join
    comment as c on a.id = c.pid
where
    c.id in (
        select id
        from (
            select
                c1.id
            from
                comment as c1
            where
                c1.pid = a.id
            order by
                c1.id desc
            limit 5
        ) as subquery
    )

此查询使用嵌套查询来获取每篇文章的前 5 条评论。嵌套查询返回一个子查询表,其中包含每篇文章最新的 5 条评论的 id。然后,在主查询中使用它来获取评论内容。

将结果映射到 java pojo 类时,您可以使用 @joincolumns 和 @jointables 注解来创建对象的层次结构。以下是一个示例模型:

@Entity
public class Article {
    @Id
    private Long id;
    private String content;

    @OneToMany(cascade = CascadeType.ALL)
    @JoinTables({
            @JoinTable(name = "comment", joinColumns = @JoinColumn(name = "pid"))
    })
    private List<comment> comments;
}

@Entity
public class Comment {
    @Id
    private Long id;
    private String comment;
}</comment>

以上就是如何在 Java 中获取包含其评论的 MySQL 文章数据?的详细内容,更多请关注其它相关文章!