当前位置: 代码迷 >> Java Web开发 >> hibernate sql 有关问题,求大神解答
  详细解决方案

hibernate sql 有关问题,求大神解答

热度:6032   发布时间:2016-04-10 23:06:47.0
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吧 它是分情况的
  相关解决方案