日期:2014-05-17  浏览次数:20715 次

hibernate sql 问题,求大神解答
(1)sql.append(" select * FROM TRANS_RECORD where merchant_id = 223");
(2)sql.append(" select COUNT(DISTINCT merchant_id) FROM TRANS_RECORD ");


SQLQuery query=session.createSQLQuery(sql.toString());
query.addEntity(TransRecord.class);
List list= query.list();


为什么用(1)能正确执行,用(2)却报“列名无效”。。。。
希望大神来解答,这个问题困扰小弟一天了。。。


------解决方案--------------------
去掉DISTINCT试试看,不知道你的表结构是什么
------解决方案--------------------
那得看一下你的表结构,还有你用的什么数据库,select COUNT(DISTINCT merchant_id) FROM TRANS_RECORD sql server支持,acess不支持
------解决方案--------------------
你试试看为(2)中的列取个别名,如下:
select COUNT(DISTINCT merchant_id) as mid FROM TRANS_RECORD;

注意在SQL语句后最好要补上封号“;”
------解决方案--------------------
query.addEntity(TransRecord.class);去掉
------解决方案--------------------
createSQLQuery这个原生查询,不支持查数量
------解决方案--------------------
distinct这个数据库关键字 不是随便可以用的...你去看看什么时候才可以用distinct吧 它是分情况的