问答详情
源自:4-2 分页查询

多表联查时数据库有重复字段名时打印为null

老师,我数据库user表有个name,car表也有个name,联查的泛型是UserCarVO实体类,类里一个属性是name,一个是carName,

在UserMapper extends BaseMapper<User>接口中的

查询语句是@Select("select u.*,c.name from user u inner join car c on c.owner_id = u.my_id ${ew.customSqlSegment}")。

IPage<UserCarVO> selectUserPage(Page<UserCarVO> page, @Param(Constants.WRAPPER) Wrapper<UserCarVO> wrapper);

为了最后让实体的carName对应c.name,我在carName上注解@TableField("c.name"),但是最后只能打印出用户的name,而carName为null,(我把数据库Car表字段改为car_name的话,就能打印出),请问怎样让注解生效?求老师解答,纠结好多个小时了,查论坛查百度的例子都没有重复字段。。。

提问者:扶阿斗的人 2019-08-29 10:55

个回答

  • 老猿
    2019-08-29 11:52:29
    已采纳

    同学,这个有解决办法,你给c.name在sql中设置别名就可以了,这样写elect u.*,c.name car_name from user u inner join car c on c.owner_id = u.my_id ${ew.customSqlSegment}。正常的话,就会把值存到你的VO中。