1
我想获得重复的条目。我想使用查询作为条件,为此我使用下面的代码。休眠标准找到重复
SELECT * from A
WHERE field in (
SELECT field from A
GROUP BY field HAVING COUNT(field) > 1
);
Hibernate映射就像
@Entity
class A{
...
private String field;
...
}
如何,我收到了那些在“字段”列重复的名单?
我想建立在Java代码中,不完全是标准的HQL –
我会跟进这个问题:“为什么它必须是一个条件查询?” (如果答案是“因为这是我的项目的其他方法所使用的”,请不要打扰,这不是一个好理由)。无论如何,如果你想遵守标准,请记住,你将被迫写出比HQL版本更长,更难以阅读和更慢的查询。原因是hibernate标准不支持having子句。虽然有[已知的解决方法](http://fokot.blogspot.com.br/2011/06/having-clause-in-hibernate-criteria-no.html),我会明确地做到这一点与HQL。 –
另外,看看休眠[补丁HHH-1043 - 添加了对标准的支持](https://hibernate.atlassian.net/browse/HHH-1043)自2005年10月开放。 –