报错:Column 'id' in order clause is ambiguous;
MyBatis关联查询,相同字段名冲突,sql语句已经使用别名但仍然报错。
分析:写mapper映射文件时,在写到一对一关联,一对多关联时,由于两个javabean的属性相同,导致在select时外部属性覆盖了内部属性
解决:
在sql语句中给相同的属性起别名
同时设置 result 为 id:
<resultMap id="StuBoyDto" type="org.jeecg.modules.demo.boy.dto.StuBoyDto"><id column="id" property="id"/>
<!-- <result property="id" column="id"/>--><result property="boyNo" column="bno"/><result property="studentId" column="bsid"/><result property="boyName" column="bn"/><association property="student" javaType="org.jeecg.modules.demo.student.entity.Student"><id column="t1" property="id"/>
<!-- <result property="id" column="t1"/>--><result property="studentNo" column="tno"/><result property="studentname" column="ts"/></association></resultMap>
参考:MyBatis:关联查询,相同字段名冲突(关联查询只返回了一条子记录)_wrapper关联查询字段冲突-CSDN博客