sysoalt/baba 2022-11-09 07:45 采纳率: 65%
浏览 105
已结题

jpa一对多查询结果有问题

问题遇到的现象和发生背景

jpa一对多查询,结果值总是多一层

用代码块功能插入代码,请勿粘贴截图

这是一表,一个文章对应多条评论

@Entity
@Data
@Table(name = "article")

public class Article {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(name = "article_name")
    private String articleName;

    @OneToMany(mappedBy = "article",cascade = CascadeType.ALL,fetch = FetchType.EAGER)
    @JsonIgnoreProperties("article")
    private List<Comment> comments;

}
@Entity
@Data
@Table(name = "comment")
public class Comment {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(name = "article_id",insertable = false,updatable = false)
    private int articleId;

    @Column(name = "content")
    private String content;

    @Column(name = "author")
    private String author;

    @ManyToOne
    @JoinColumn(name = "article_id")
    private Article article;

}
运行结果及报错内容
{
    "id":2,
    "articleId":2,
    "content":"content for bbb",
    "author":"author2",
    "article":{
        "id":2,
        "articleName":"bbb",
        "comments":[
            {
                "id":2,
                "articleId":2,
                "content":"content for bbb",
                "author":"author2"
            },
            {
                "id":3,
                "articleId":2,
                "content":"content also for bbb",
                "author":"author3"
            },
            {
                "id":4,
                "articleId":2,
                "content":"content2 also for bbb",
                "author":"author4"
            }
        ]
    }
}

我想要达到的结果
{"id":2,
        "articleName":"bbb",
        "comments":[
            {
                "id":2,
                "articleId":2,
                "content":"content for bbb",
                "author":"author2"
            },
            {
                "id":3,
                "articleId":2,
                "content":"content also for bbb",
                "author":"author3"
            },
            {
                "id":4,
                "articleId":2,
                "content":"content2 also for bbb",
                "author":"author4"
            }
        ]
}
  • 写回答

4条回答 默认 最新

  • sysoalt/baba 2022-11-14 16:51
    关注

    重写toString方法

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 已采纳回答 11月14日
  • 修改了问题 11月9日
  • 修改了问题 11月9日
  • 展开全部

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同