SpringBoot FastJson导致循环引用

背景

使用fastjson时出现了循环引用,问题:
文章评论回复时,评论是多,文章是一,典型的一对多和多对一的问题,按照Spring的解释多的一方为维护方,即评论方,在发布评论时,因为评论关联了文章,文章也关联了评论,通过fastjson获取评论数据时,顺带就将文章也返回了,当然文章中的评论也返回了,这样就产生了循环引用的问题,导致的结果就是,后端返回的数据在前端出现大量undefined的JS对象

方案

我们可以通过限定json序列化的范围来避免发生这种情况,具体在一的一方即文章的评论集合属性上限定获取了文章对象后不要再获取文章的评论

实体

cascade = {CascadeType.REMOVE} #去除级联查找关系

SpringBoot FastJson导致循环引用_第1张图片

效果

SpringBoot FastJson导致循环引用_第2张图片

控制台我们可以看到评论列表的blog对象的引用为空

在这里插入图片描述

你可能感兴趣的:(SpringBoot,Json,java,spring)