2012-03-14 3 views
0

Мы используем спящий режим 3.3 для нашего приложения и сталкиваемся с этой проблемой weired, в которойcriteria.setProjection (Projections.rowCount()) с Hibernate производит неожиданный результат

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

criteria.setProjection(Projections.rowCount()); возвращает 4 строки, 3, имеющих значения «0 'и 1 с правильным значением.

Из-за этого вопроса criteria.uniqueResult(); бросает исключение, говоря org.hibernate.NonUniqueResultException: query did not return a unique result: 4

Любая помощь будет высоко оценен.

Заранее спасибо.

+0

Хуже всего то, что мы сталкиваемся с той же проблемой с HQL. :( – instanceOfObject

ответ

1

я получил причину сам!

Существует несколько классов (3 точно), которые наследуют таблицу, на которую мы запускаем этот запрос («таблица»). Таким образом, из-за этого наш запрос запускается во все 4 таблицы.

Решено много наших проблем.

Wowww !!! Какое облегчение. :)

1

попробовать

int count = getSession().createCriteria(table.class) 
    .setProjection(Projections.rowCount()) 
    .criteria.uniqueResult<int>(); 
Смежные вопросы