Предположим, у меня есть следующий класс Groovy (или эквивалент в Java)
class User {
Long id
String name
}
Я хотел бы написать запрос Hibernate (HQL или Criteria), который возвращает всех пользователей, у которых есть хотя бы один другой пользователь с таким же именем.
Обновление
Был предложен следующий запрос
select min(user.id), user.name
from User user
group by user.name
having count(user.name) > 1
Однако есть несколько проблем с этим:
- На самом деле он не возвращает объекты пользователя, только их идентификатор и имя
- Если есть 3 пользователя с одинаковыми именами, он вернет идентификатор только одного из них, тогда как я хочу, чтобы все 3
- Может не работать на MySQL, который я использую в СУБД.
Спасибо,
Дон