spring mvc json循环引用JsonMappingException: Infinite recursion

Java实体里两个对象有关联关系,互相引用,比如,在一对多的关联关系里,
老师对象,引用了学生列表
学生对象,引用了所属老师
就构成了互相引用。
在spring MVC中,要使其中的一个对像响应成json会造成无限递归引用的异常:

org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: com.entity.Person["organization"]->org.hibernate.collection.PersistentSet[0]->com.entity.PersonOrganization["person"]->com.entity.Person["organization"]->org.hibernate.collection.PersistentSet[0]...



因为要保持关联关系,不能在对象里解除掉关系解决这个异常,在对象的任一方的get方法上添加
注解:
比如在学生实体Student上添加
@ManyToOne
@JoinColumn(name="TEACHER_ID")
@JsonIgnore
public Teacher getTeacher()

即可解决无限递归引用的问题。

猜你喜欢

转载自powertech.iteye.com/blog/2038741
今日推荐