报错: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博客