2012-03-14 106 views
0

我们正在使用冬眠3.3我们的应用程序和面向该weired问题,其中criteria.setProjection(Projections.rowCount())与Hibernate产生意想不到的结果

Criteria criteria = getSession().createCriteria(table.class); 

criteria.setProjection(Projections.rowCount());返回4行中,具有值“0 3 '和1正确的值。

由于此问题criteria.uniqueResult();的抛出一个异常,说org.hibernate.NonUniqueResultException: query did not return a unique result: 4

任何帮助将高度赞赏。

在此先感谢。

+0

最糟糕的部分是我们正面临与HQL相同的问题。 :( – instanceOfObject 2012-03-14 09:58:40

回答

1

我有我自己的原因!

有多个类(3个)正在继承我们正在触发此查询(“表”)的表。所以,正因为如此,我们的查询被触发到所有4个表。

解决了很多我们的问题。

哇!它是一种解脱。 :)

1

尝试

int count = getSession().createCriteria(table.class) 
    .setProjection(Projections.rowCount()) 
    .criteria.uniqueResult<int>(); 
相关问题