博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有hibernate的实体类转化成JSON过滤无干类型
阅读量:6710 次
发布时间:2019-06-25

本文共 1276 字,大约阅读时间需要 4 分钟。

hot3.png

有hibernate的实体类转化成JSON过滤无关类型 很多时候数据表都有外键表的,当用hibernate查询结果集时,其关联的对象集也一起来,所以会造成转换JSON发生错误;
net.sf.json.JSONException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.een.entities.GeneralType.generals, no session or session was closed
在用JSONObject.fromObject的时候,如果JavaBean中有Set等类型时,会报错hibernate的lazy的错,所以需要过虑掉那些无关的类型。直接贴代码: List<General> list = generalService.list(page, cid); if(list.size()>0){ json.put("status", "1"); json.put("msg", "获取成功"); }else{ json.put("status", "0"); json.put("msg", "暂无数据"); } JsonConfig config = new JsonConfig(); config.setJsonPropertyFilter(new PropertyFilter() { public boolean apply(Object arg0, String arg1, Object arg2) { if (arg1.equals("generalType")) { return true; } else { return false; } } }); config.setExcludes(new String[] { "hibernateLazyInitializer", "handler", "tProvince" }); JSONArray jsonArray = JSONArray.fromObject(list, config); json.put("dataList", jsonArray); out.print(json); out.flush(); out.close();   结果:
{"status":"1","msg":"获取成功","dataList":[{"cnName":"中方供求信息","enName":"Financial","id":2,"sort":50},{"cnName":"6.18项目信息","enName":"Personal account","id":3,"sort":50},{"cnName":"欧盟供求信息","enName":"type","id":1,"sort":50}]}  

转载于:https://my.oschina.net/zchuanzhao/blog/512609

你可能感兴趣的文章
445. Add Two Numbers II - Medium
查看>>
吴恩达课后作业学习2-week1-1 初始化
查看>>
css3系列之animation
查看>>
iOS边练边学--级联菜单的两种实现方法
查看>>
使用SimpleXML 解析xml
查看>>
第三周作业
查看>>
第四章6
查看>>
2018/12/01 一个64位操作系统的实现 第四章 导入kernel.bin(3)
查看>>
抽象工厂模式和autofac的使用总结
查看>>
ManyToMany参数(through,db_constraint)
查看>>
Struts工作原理、流程
查看>>
(转)Entity Framework在三层架构中的使用--MVC三层架构启示
查看>>
【原】记2015招商银行信用卡中心在线笔试------4.2
查看>>
Node Graph ......
查看>>
开放平台-web实现人人网第三方登录
查看>>
跨域iframe高度自适应(兼容IE/FF/OP/Chrome)
查看>>
git使用命令, 特别:git checkout -b a 与 git branch a区别(转)
查看>>
26个Jquery使用小技巧
查看>>
如何对Linux的grub进行加密
查看>>
[BZOJ2839]集合计数
查看>>