hibernate對象轉換成json的時候報錯java.lang.reflect.InvocationTargetException

框架: hibernate3

轉換json類庫:net.sf.json

在使用以下方法轉換json時,報錯java.lang.reflect.InvocationTargetException

JSONArray.fromObject(list);

debug後發現只有list中有的對象是hibernate懶加載對象的時候,就會出該問題。hibernate的懶加載對象,在轉換json時,會訪問到其字段,此時又會去數據庫查詢獲取相關字段。在debug中也看得到涉及到了jdbc等對象,導致出了該問題。

上網參考到有如下處理方式:

JsonConfig jc = new JsonConfig();
jc.registerJsonValueProcessor(Date.class, SysCommon.DATE_JSON_PROCESSOR_YMD);
//防止轉換hibernate懶加載對象出問題
jc.setExcludes(new String[]{"handler","hibernateLazyInitializer"});
JSONArray.fromObject(tss, jc);

後面會再找下有沒有其他解決方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章