fromObject时发现迟加载对象failed to lazily initialize a collection of role: com.lj.domain.AllAttribute.allAttributeContents无法初始化,是因为no session or session closed这要查了,是之前什么操作引起session关闭

解决方案 »

  1.   

    你这个AllAttributeContent实体对象里肯定用了关联对象而且这对象又是延迟初始化的。JsonArray在转换的时候会获得每个对象的属性值的。根据get方法来调用获取属性值,而由于你内部有关联对象延迟初始化,所以他在调get方法的时候就会去查数据库了,而这时你的session被关闭了就会出现这个问题。
    楼主看下这个关联对象在输出的时候有没有用,如果没用到的话可以把这个关联对象的属性排除掉
    JsonConfig jc=new JsonConfig();
    jc.setExcludes(new String[]{你的延迟加载关联对象的属性名});
    JSONArray jsonArray=JSONArray.fromObject(allAttributeContent);
    如果非要用到的话那么。session就必须要有,并且处于打开状态