日期:2014-05-16  浏览次数:20409 次

json 级联数据全部取出

异常信息:

ERROR – failed to lazily initialize a collection of role: com.dudu.pojo.User.roles, no session or session was closed

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role:

?

原因及解决方法:?

转换json数据时,且数据存在级联关系,只要实体类有getXXX()方法,不管是否设置为lazy,它都会级联取出转换为json数据,如果转换的对象的属性是其他的自定义对象,并且有get()方法,会自动加载该对象,但是这时候可能session已经关掉了,另外,如果我们存在大量的级联关系,比如一对多,一种有多的集合,多中又有一的对象,这就会造成死循环。遇到不需要转换json数据的对象,尽量在getXXX()方法前加上注解:@JSON(serialize=false)