我有下面的代码在我的刀
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(*),它总是返回单个值。
3条答案
按热度按时间mepcadol1#
尝试使用uniqueResult()而不是list()。
根据您当前的DB,计数可能返回Integer或Long,因此最安全的情况是Number。
还有:
cngwdvgl2#
您的代码是完美的,在您的查询结束时添加以下内容
或
Reference link
vulvrdjw3#
有点晚了,但我还是会回信的。
在我的例子中,当我使用'select count(a)from TaskAttachment'时,我得到了3行,
仅仅因为我有另外两个名为TaskPostAttachment域对象和
TaskDiscussionAttachment,然后这两个域对象都扩展了我的
由于某种原因,
因此我创建了另一个名为RootAttachment域对象,
然后这三个TaskAttachment对象都扩展了RootAttachment,
那么问题就解决了。
对不起,我英语不好。