net.sf.json.JSONException: There is a cycle in the hierarchy
发布时间:2020-12-16 19:08:49 所属栏目:百科 来源:网络整理
导读:使用hibernate容易出现该问题,主要是由于pojo类属性存在级联关系。比如说员工和部门,在员工表里面有部门属性,而在部门表里面有个员工集合,这样就存在了嵌套引用的问题了,就会抛出这个异常。 解决方法很简单,在将每个对象转为json对象的时候用setExclud
使用hibernate容易出现该问题,主要是由于pojo类属性存在级联关系。比如说员工和部门,在员工表里面有部门属性,而在部门表里面有个员工集合,这样就存在了嵌套引用的问题了,就会抛出这个异常。 解决方法很简单,在将每个对象转为json对象的时候用setExcludes函数将级联的属性去除掉就可以了,如下面: 1 //得到所有部门 2 //返回json对象字符串 3 public String getAllDep(){ 4 List list = deptDAO.findAll(); 5 JsonConfig config = new JsonConfig(); 6 config.setExcludes(new String[]{"emps"});//除去emps属性 7 String json = JSONArray.fromObject(list,config).toString(); 8 return json; 9 } 10 11 //得到所有员工 12 public String getAllEmp(int id){ 13 List list = empDAO.findByProperty("dept.deptId",id); 14 JsonConfig config = new JsonConfig(); 15 config.setExcludes(new String[]{"dept"});//除去dept属性 16 String json = JSONArray.fromObject(list,config).toString(); 17 return json; 18 } *********************************************第二种方法****************************************** 自己写for循环把关联参数设置为null (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQLite剖析(1):功能特性
- postgresql – psql在启动时挂起
- XML ANNOTATION 转自http://www.blogjava.net/hoojo/archiv
- c – 为什么我们必须为带有默认参数的模板类指定<>?
- Swift UILabel 文字大小随着宽度调整
- sqlite文件大小问题,删除不干净,彻底清空数据库
- c# – RavenDB Map / Reduce over属性是一个列表
- ruby-on-rails – 使用ActionMailer和Outlook / Mandrillap
- oracle集群的启动和关闭
- ORACLE: – 通过删除第一个单词后面的空格来选择名字