您的位置:首页 > Web前端 > JavaScript

Hibernate实体list、set生成Json出现类属性无限循环解决方法

2015-11-09 20:59 501 查看
Hibernate实体定义的时候对类Photo和OtherPhoto设置了一对多和多对一的关联,Photo里有OtherPhoto集合。OtherPhoto里有Photo对象。这样在得到Photo的list或set后返回Json到视图,出现了Json的属性循环,导致报错java.lang.StackOverflowError错误

解决方法:如不需要OtherPhoto中的photo属性,只需要在字段前面加 transient修饰符就行了。

同理,复写Photo和OtherPhoto的toString()方法是容易循环打印,也会报错。

原因就是你把两个对象的toString方法都重写之后,应用程序递归太深了,所以发生了堆栈溢出。解决方法就是将多的一方对象里面重写的toString方法去掉,或者两个对象里面重写的toString方法都去掉。就ok了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate json