使用了嵌套查询,两个resultMap 其中使用<association/>注解关联子resultMap
如果查询的数据的主键在这个子map中, (SQL可能是最左边被left join的一个,所以数据库查询没有问题),
其实Mybatis在执行时,更像是把主Map放在Left join最左边, 而被association关联的子Map放在右边, 所以这里会出现数量不对的情况
解决办法:
最简单的就是给 子ResultMap的主键 设置别名,在外面的resultMap再引用一下.
本文探讨了MyBatis中使用嵌套查询时出现的数量不匹配问题,并提供了解决方案,即通过为主键设置别名来修正。
使用了嵌套查询,两个resultMap 其中使用<association/>注解关联子resultMap
如果查询的数据的主键在这个子map中, (SQL可能是最左边被left join的一个,所以数据库查询没有问题),
其实Mybatis在执行时,更像是把主Map放在Left join最左边, 而被association关联的子Map放在右边, 所以这里会出现数量不对的情况
解决办法:
最简单的就是给 子ResultMap的主键 设置别名,在外面的resultMap再引用一下.
917
588
2434