与前台开发人员联调过程中,前台需要我给他返回一些符合特定条件的实体数据,直接按正常流程查询,最终查到了3个实体数据,以list接收后,便以json格式返给了前台,
控制层代码如下(有简化):
可是数据返回到了前台的时候却出现了前台接受的数据疯狂输出(明明只有三个数据啊,我打断点看的清清楚楚),直到后台报错,后台最后报错如下:
最终看到实体类后找到了原因:
这里要返回给前台的实体类为 Activity类,而Activity与ActivityEnter属于一对多关系,类Activity中有一属性如下:
ActivityEnter类中对应属性如下:
可以看出返回的 list数据存在父子关系,所以会无限循环。
解决办法:
在实体类activity上加上注释 @JsonIgnoreProperties(value={"activityEnters"}) ,目的是让这个activity类的activityEnters属性不进行json的转化,这样就防止了json解析出现死循环的情况。