Hibernate使用SQL查询同名字段结果问题

文章只是简短的记录一下这个问题,其实早两年就发现了,但是没有刻意去记录,导致在同一个地方跌倒两次,耻辱啊...

问题描述:

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了,各位可以去测试,本人已测试通过的。

猜你喜欢

转载自hunanpengdake.iteye.com/blog/2214488