2013-05-06 126 views
0

我执行下面的sql代码,我想获得“parent.name,child.name”,但返回的列表的值是“parent.name,parent.name”?谁能帮忙?数据库是MySQL的休眠选择值覆盖

String sql = "select parent.name,child.name from CATEGORY as parent,CATEGORY as child where child.CATEGORY_ID=7 and child.SUB_TYPE in (80,81) and child.PARENT_ID=parent.ID;"; 
Query query = session.createSQLQuery(sql); 
return query.list(); 

期望的结果:

parent.name child.name 
    a   d 
    b   e 
    c   f 

当前结果:

parent.name child.name 
    a   a 
    b   b 
    c   c 

顺便说一句,我可以通过执行SQL获得SQLyog的客户端正确的结果。

+0

你如何遍历结果? – 2013-05-06 09:41:29

回答

0

首先,它保证了SQL语句是正确的通过你的描述,然后只获取对象数组像以下:

for(Object[] obj : results) { 
    obj[0] // parent name 
    obj[1] // child name 
} 

也许帮助你:)