Я хочу, чтобы выполнить этот запрос с КРИТЕРИИ, но это, кажется, не работает, как ожидалось:Distinct функция с критериями
SELECT DISTINCT descripcion, id, familia_id, numero_departamento FROM familia WHERE familia_id IS NULL GROUP BY descripcion;
Я попытался это
public List getFamiliasPadre() {
Criteria cri = getSession().createCriteria(Familia.class);
cri.add(Restrictions.isNull("familia.id")).setProjection(Projections.distinct(Projections.property("descripcion")))
.setProjection(Projections.groupProperty("descripcion"));
return cri.list();
}
Но она возвращает результат, как если бы я Выполняли этот запрос
SELECT DISTINCT descripcion FROM familia WHERE familia_id IS NULL GROUP BY descripcion;
Он возвращает только колонку descripcion.
Мой вопрос: как я могу сказать Hibernate, что мне нужны все столбцы таблицы, но я не хочу повторять vaules из колонки descripcion?
Я не объединяю две строки, я просто применяю функцию Distinct к одному столбцу, он отлично работает, он приносит все записи, которые являются уникальными, но проблема в том, что только приносит один столбец (descripcion) и i Want all столбцы таблицы. Я не знаю, понял ли я это неправильно. – Blackmore
Итак, позвольте мне понять, что вы хотите получить все строки, которые имеют уникальное значение для столбца 'descripcion'? Если есть два ряда с одинаковым значением для этого поля, вы не хотите их использовать? – MaQy
Мне очень жаль, меня неправильно поняли, но что вы хотите оставить в стороне? Я только хочу «удалить» повторяющиеся значения для моего запроса. – Blackmore