码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis延迟加载导致dubbo值为null解决办法

时间:2017-02-21 11:39:54      阅读:879      评论:0      收藏:0      [点我收藏+]

标签:加载   issues   dubbo   serialize   sso   名称   设置   ice   延迟   

场景条件:

 

1、bean里有两个属性:

private String subjectCategoryName;//分类名
private String className;//班级分类名称

2、使用mybatis嵌套查询:

<association property="subjectCategoryName" fetchType="eager" javaType="java.lang.String" column="{id=subject_category}" select="selectCategoryName" />
<association property="className" fetchType="eager" javaType="java.lang.String" column="{id=class_id}" select="selectClassName" />

3、查询报错:

Caused by: com.alibaba.com.caucho.hessian.io.HessianProtocolException: com.alibaba.com.caucho.hessian.io.ObjectDeserializer: unexpected object java.lang.String (id)
    at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.error(AbstractDeserializer.java:108)
    at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:95)
    at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1550)
    at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:396)
    ... 47 more

4、debug发现service里有值,但无法进入action

5、google 搜索mybatis association dubbo找到https://github.com/alibaba/dubbo/issues/156,找到

技术分享

于是明白了原因,将mybatis设置中<setting name="lazyLoadingEnabled" value="true" />改为false,发现确实没报错了,也有数据了,于是把mybatis 设置改回true,然后更改如下代码

<association property="subjectCategoryName" fetchType="eager" javaType="java.lang.String" column="{id=subject_category}" select="selectCategoryName" />
<association property="className" fetchType="eager" javaType="java.lang.String" column="{id=class_id}" select="selectClassName" 

增加了fetchType="eager"问题解决

 

 

转载请注明原文:

 http://www.cnblogs.com/ysdxz207/p/6423155.html

mybatis延迟加载导致dubbo值为null解决办法

标签:加载   issues   dubbo   serialize   sso   名称   设置   ice   延迟   

原文地址:http://www.cnblogs.com/ysdxz207/p/6423155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!