7
最近想在原先的系统上使用dubbo。 系统使用的是mybatis,开启了延迟加载:
<setting name="lazyLoadingEnabled" value="true" />
<setting name="aggressiveLazyLoading" value="false" />
调试发现接口返回的是代理对象,所以controller(springMVC)得到的数据属性都是null。 如果关掉延迟加载,得到的数据有值了,但系统部分原有的功能受到了影响,会加载一些原先需要延迟加载的数据,且如下的树对象陷入不停循环,导致内存溢出:
<resultMap type="BaseTreePojo" id="baseTreePojo" extends="com.lmiky.platform.sort.pojo.BaseSortPojo.baseSortPojo">
<result column="name" property="name"/>
<result column="leaf" property="leaf"/>
<association property="parent" column="parentId" select="com.lmiky.platform.tree.pojo.BaseTreePojo.findById"/>
<collection property="children" column="id" select="com.lmiky.platform.tree.pojo.BaseTreePojo.listByParent"/>
</resultMap>
有什么尽量不修改原有系统代码的解决方法吗,dubbo是不是无法序列化代理对象,希望能帮忙回答下,谢谢。