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:657)
at net.sf.json.JSONObject.fromObject(JSONObject.java:172)
at net.sf.json.util.CycleDetectionStrategy$StrictCycleDetectionStrategy.handleRepeatedReferenceAsObject(CycleDetectionStrategy.java:97)
at net.sf.json.JSONObject._fromBean(JSONObject.java:657)
at net.sf.json.JSONObject.fromObject(JSONObject.java:172)
at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:274)
在实体类的数据有关联的时候,A类引用的有B类的数据,B类又有A类的数据 再转json字符串的时候 会出现上面的错误:
解决办法:
1.在转json字符串的时候把A类引用B类的数据排除掉,不转换为json。
2. 在实体类的hbm.xml 中 把lazy 改成false即可,把hibernate的延迟加载关闭即可。
<many-to-one name="User" lazy="false" class="com.ls.bos.domain.Order" fetch="select">
<column name="user_id" length="32" />