文章只是简短的记录一下这个问题,其实早两年就发现了,但是没有刻意去记录,导致在同一个地方跌倒两次,耻辱啊...
问题描述:
select a.id, b.id from c_app_info a inner join a_app_info b on a.packName=b.packName
这段语句直接放在数据库执行得到的结果是
a.id b.id
1 5
Hibernate在使用SQL查询的时候,对于结果集中出现同名字段的情况,处理结果有问题,具体结果表现为:
a.id b.id
1 1
个人认为就是框架问题。网上很多人说了很多种我认为比较复杂的方式回避这个问题,我在这说一种更简单的回避方式:
select ifnull(a.id,null) cId,ifnull(b.id,null) aId from c_app_info a inner join a_app_info b on a.packName=b.packName
只需将SQL改为上面这样就OK了,各位可以去测试,本人已测试通过的。