mybatis 中collection用法_列名重复问题

哦特Man 哦特Man 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
问题描述:
A表和B表左连接 条件A.id=B.id
A表和C表左连接 条件A.id=C.id
B表和C表左连接 条件B.name=C.name
需要用到2个不同的C表集合,但是用下面的作法,集合C2没有取到值(其实用sql可以取到)。
调查发现集合C1,C2是用的同一个表结构,sql执行后,列名重复,所以C2没有取到值,请问这个问题该怎么解决?
sql:
SELECT
A.*,B.*,C1.*,C2.*
FROM
A
LEFT JOIN B ON A.ID = B.ID
LEFT JOIN C AS C1 ON A.ID = C1.ID
LEFT JOIN C AS C2 ON B.NAME = C2.NAME


查询用到的entity
@SuppressWarnings("PMD.UnusedPrivateField")
@Getter
@Setter
public class Entity implements Serializable {

private AEntity A;
private BEntity B;
private List<CEntity> C1;
private List<CEntity> C2;

}


mybatis用到的xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="xx.xx.xxx.MybatisMapper">
<resultMap id="resultMap_XXXXXXXXX"
type="xx.xx.xxx.Entity "
autoMapping="true" >
<association property="A" resultMap="xx.xx.resultMap_AEntity" />
<association property="B" resultMap="xx.xx.resultMap_BEntity" />
<collection property="C1" resultMap="xx.xx.resultMap_C1Entity" />
<collection property="C2" resultMap="xx.xx.resultMap_C2Entity" />
</resultMap>

<select id="select_result" resultOrdered="true"
resultMap="resultMap_XXXXXXXXX"
parameterType="xx.xx.xxx.MybatisParameter"
fetchSize="500">
SELECT
A.*,B.*,C1.*,C2.*
FROM
A
LEFT JOIN B ON A.ID = B.ID
LEFT JOIN C AS C1 ON A.ID = C1.ID
LEFT JOIN C AS C2 ON B.NAME = C2.NAME
</select>
</mapper>





...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
哦特Man
Java 51,407 成员 86,126 内容