Dón*_*nal 1 java orm groovy hibernate hql
假设我有以下Groovy类(或Java中的等价物)
class User {
Long id
String name
}
Run Code Online (Sandbox Code Playgroud)
我想编写一个Hibernate查询(HQL或Criteria),它返回至少有一个具有相同名称的其他用户的所有用户.
更新
建议使用以下查询
select min(user.id), user.name
from User user
group by user.name
having count(user.name) > 1
Run Code Online (Sandbox Code Playgroud)
但是,这有一些问题:
谢谢,唐
我会尝试这样的事情:
select min(user.id), user.name
from User user
group by user.name
having count(user.name) > 1
Run Code Online (Sandbox Code Playgroud)
请注意,根据文档,如果底层数据库(即不在MySQL中)支持,则在having和order by子句中允许使用SQL函数和聚合函数.
编辑:应该可以检索具有IN的用户(我不认为查询性能会非常好):
from User u
where u.name IN (
select user.name
from User user
group by user.name
having count(user.name) > 1)
Run Code Online (Sandbox Code Playgroud)