首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

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

2014-01-06 
hibernatesql 问题,求大神解答(1)sql.append( select * FROM TRANS_RECORD where merchant_id 223)(2

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吧 它是分情况的

热点排行