2012-03-07 28 views
1

我需要序列由iBatis的加载一些对象,但我得到NotSerializableException因为lazyLoadingEnabled =“真”。iBatis的惰性加载配置

我看到这是一个已知的限制(请参阅https://issues.apache.org/jira/browse/IBATIS-529),但我还没有找到一种解决方法,可以在整个应用程序中关闭延迟加载。

我的问题是,是否有过延迟加载任何更细粒度的控制。这是目前适用于所有的SQLMAP资源sqlMapConfig /设置启用/禁用。有没有一种方法来启用/禁用此编程或只为某些sqlMaps?

回答

0

从来没有发现一个解决方案,明确控制懒加载...但是,我没有通过简单的我的对象转换为XML(因此加载所有必要的字段明确),并使用我的有效载荷(避免对象序列完全解决我的问题)...显然不理想,但它适用于我的需求,似乎在性能上明智(因为对象序列化反正慢)

0

找到您的项目中的配置文件与<sqlMapConfig>元素和嵌套<settings>元素,你可以指定lazyLoadingEnabled="false"但如果你的查询获取其他复杂的对象与外部获取,你一定会有一个真正的堆栈溢出问题!