Использование критериев и проекций Hibernate для выбора нескольких отдельных столбцов - PullRequest
23 голосов
/ 04 марта 2011

Используя критерии Hibernate, я хочу выполнить эквивалент:

select distinct uspscity, state from citycomplete where USPSCITY = 'HOUSTON'

Я думал, что выполнение следующих действий даст желаемые результаты:

ProjectionList projList = new ProjectionList();
projList.add(Projections.distinct(Projections.property("id.state")));
projList.add(Projections.distinct(Projections.property("id.uspsCity")));
criteria.setProjection(projList);

Но на самом деле это выполняет что-то вроде:

select distinct uspscity, distinct state from citycomplete where USPSCITY = 'HOUSTON'

Что выдает ошибку, очевидно.

Если не использовать критерии, есть ли решение для этого?

Спасибо

Brandon

1 Ответ

52 голосов
/ 04 марта 2011
ProjectionList projList = Projections.projectionList();
projList.add(Projections.property("id.state"));
projList.add(Projections.property("id.uspsCity"));
criteria.setProjection(Projections.distinct(projList));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...