首页 > 技术文章 > Cause: org.apache.ibatis.reflection.ReflectionException: Could not set property 'orderdetails' of 'class com.luchao.mybatis.first.po.Orders' with value 'Orderdetail [id=null, ordersId=3, itemsId=1, it

lcngu 2016-05-10 00:02 原文

从上面异常的解释来看是因为反射不能将Orders设置到orderdetails属性上,仔细检查了MyBatis的配置文件,发现:

1 <collection property="orderdetails" javaType="com.luchao.mybatis.first.po.Orderdetail">
2             <result column="id" property="id"/>
3             <result column="items_id" property="itemsId"/>
4             <result column="items_num" property="itemsNum"/>
5             <result column="orders_id" property="ordersId"/>
6 </collection>

上面的javaType属性的问题,因为这个是一对多,通过反射应该映射为List,但是使用javaType会让MyBatis认为orderdetails属性为Orderdetail,所以出错,将javaType改为ofType,只是指定泛型的类型为Orderdetail。

推荐阅读