hibernate双向关联转化为Json数据
来源:互联网 发布:ubuntu下新建文件夹 编辑:程序博客网 时间:2024/06/10 18:30
用jQuery+Json开发过程遇到的dug:
2012-3-4 11:24:11 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [ProServlet] in context with path [/Second] threw exception
net.sf.json.JSONException: There is a cycle in the hierarchy!
at net.sf.json.util.CycleDetectionStrategy$StrictCycleDetectionStrategy.handleRepeatedReferenceAsObject(CycleDetectionStrategy.java:97)
at net.sf.json.JSONObject._fromBean(JSONObject.java:833)
at net.sf.json.JSONObject.fromObject(JSONObject.java:168)
at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:265)
at net.sf.json.JSONObject._processValue(JSONObject.java:2808)
at net.sf.json.JSONObject.processValue(JSONObject.java:2874)
at net.sf.json.JSONObject.setInternal(JSONObject.java:2889)
at net.sf.json.JSONObject.setValue(JSONObject.java:1577)
at net.sf.json.JSONObject._fromBean(JSONObject.java:934)
at net.sf.json.JSONObject.fromObject(JSONObject.java:168)
at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:265)
at net.sf.json.JSONArray._processValue(JSONArray.java:2514)
at net.sf.json.JSONArray.processValue(JSONArray.java:2539)
at net.sf.json.JSONArray.addValue(JSONArray.java:2526)
at net.sf.json.JSONArray._fromCollection(JSONArray.java:1057)
at net.sf.json.JSONArray.fromObject(JSONArray.java:123)
at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:237)
at net.sf.json.JSONObject._processValue(JSONObject.java:2808)
at net.sf.json.JSONObject.processValue(JSONObject.java:2874)
at net.sf.json.JSONObject.setInternal(JSONObject.java:2889)
at net.sf.json.JSONObject.setValue(JSONObject.java:1577)
at net.sf.json.JSONObject._fromBean(JSONObject.java:934)
at net.sf.json.JSONObject.fromObject(JSONObject.java:168)
at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:265)
at net.sf.json.JSONArray._processValue(JSONArray.java:2514)
at net.sf.json.JSONArray.processValue(JSONArray.java:2539)
at net.sf.json.JSONArray.addValue(JSONArray.java:2526)
at net.sf.json.JSONArray._fromCollection(JSONArray.java:1057)
at net.sf.json.JSONArray.fromObject(JSONArray.java:123)
at net.sf.json.JSONArray.fromObject(JSONArray.java:105)
at cn.csdn.servlet.ProServlet.doGet(ProServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
想了半天,才想到是Hibernate的问题,hibernate产生了死循环查询(跟hibernate的配置文件有关)。
解决方案,在转成Json对象的时候过滤掉bean中引起死循环查询的属性(一般为设置的外键)。
转换的时候调用过滤器
- JsonConfig config = JsonFilter.getFilter(new String[]{"gameclass"});//String数组中存储的是要过滤的属性
- JSONArray responseJsonMsgs=JSONArray.fromObject(list,config);
这样这个bug就可以解决了!
- hibernate双向关联转化为Json数据
- Hibernate双向关联 Json死循环
- Hibernate 双向关联实体转Json
- js关联数组转化为json字符串
- Hibernate表关联对象转Json双向关联解析过度
- 【javascript】Json字符串转化为Json数据
- Hibernate双向关联转Json死循环问题(Gson)
- Hibernate one2many 双向关联
- hibernate关联映射-双向
- hibernate双向关联注意
- Hibernate一对一双向关联
- hibernate 一对一双向关联
- Hibernate一对一双向关联
- hibernate configration 双向关联
- Hibernate 双向一对一关联
- Hibernate一对一双向关联
- Hibernate 双向关联
- java对象转化为json格式数据
- 冒泡排序java实现
- jquery以及js常用函数
- strlen与sizeof区别(转载)
- smtp暴力猜测脚本
- 求 3 2 4 3 1五个数中任意几个和为7的所有的组合
- hibernate双向关联转化为Json数据
- 程序与生活:软件开发的最终目的
- 注释
- 用DOM4J创建及修改XML文件
- python学习中……
- lucene3.5学习笔记01--搭建开发环境
- 关于文字编码
- myeclipse 中 TODO 注释的用法
- C#基础1——语法