首页 > 代码库 > json-lib-2.4-jdk15.jar 报错 net.sf.json.JSONException: There is a cycle in the hierarchy!错误解决方案(Hibernate)

json-lib-2.4-jdk15.jar 报错 net.sf.json.JSONException: There is a cycle in the hierarchy!错误解决方案(Hibernate)

使用hibernate容易出现该问题,主要是由于pojo类属性存在级联关系。比如说员工和部门,在员工表里面有部门属性,而在部门表里面有个员工集合,这样就存在了嵌套引用的问题了,就会抛出这个异常。

解决方法很简单,在将每个对象转为json对象的时候用setExcludes函数将级联的属性去除掉就可以了,如下面:

比如CityVo  里面有关联属性 ProvinceVo province 以及 地区属性 Set<DistrictVo> districtList 

使用hibernate 查询所有的city时 会关联province 和 ....

JsonConfig config = new JsonConfig();

config.setExclude(new String[]{"province",districtList});

JSONArray.fromJSONArray(cityList,config);

ok 搞定

json-lib-2.4-jdk15.jar 报错 net.sf.json.JSONException: There is a cycle in the hierarchy!错误解决方案(Hibernate)