多表聯查時數據庫有重復字段名時打印為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
同學,這個有解決辦法,你給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中。