2012-03-07 50 views
1

我需要序列由iBatis的加載一些對象,但我得到NotSerializableException因爲lazyLoadingEnabled =「真」。iBatis的惰性加載配置

我看到這是一個已知的限制(請參閱https://issues.apache.org/jira/browse/IBATIS-529),但我還沒有找到一種解決方法,可以在整個應用程序中關閉延遲加載。

我的問題是,是否有過延遲加載任何更細粒度的控制。這是目前適用於所有的SQLMAP資源sqlMapConfig /設置啓用/禁用。有沒有一種方法來啓用/禁用此編程或只爲某些sqlMaps?

回答

0

從來沒有發現一個解決方案,明確控制懶加載...但是,我沒有通過簡單的我的對象轉換爲XML(因此加載所有必要的字段明確),並使用我的有效載荷(避免對象序列完全解決我的問題)...顯然不理想,但它適用於我的需求,似乎在性能上明智(因爲對象序列化反正慢)

0

找到您的項目中的配置文件與<sqlMapConfig>元素和嵌套<settings>元素,你可以指定lazyLoadingEnabled="false"但如果你的查詢獲取其他複雜的對象與外部獲取,你一定會有一個真正的堆棧溢出問題!