我的代码中有以下代码
String query = SELECT COUNT(*) FROM CustomerData ;
Query query = session.createQuery(query);
List test = query.list();
it return list size as 2 . It contains the following value [1,0]
如果不可能,它返回2行怎么样,因为我在select子句中总是使用COUNT(*) 返回单个值。 hibernate在这里做点什么吗?
答案 0 :(得分:0)
尝试使用uniqueResult()代替list()。
Number count = (Number) query.uniqueResult();
根据您当前的数据库,计数可能会返回整数或长整数,因此最安全的情况是数字。
此外:
String query = SELECT COUNT(cd) FROM CustomerData cd WHERE cd.custId = :custId AND cd.deptId = :deptId
答案 1 :(得分:0)
您的代码非常完美,在查询结束时只需添加此
return ((Integer)test.get(0)).intValue();
OR
Integer result = ((Integer) test.get(0)).intValue();