Java HQL中的重复记录

Java HQL中的重复记录,java,hibernate,hql,Java,Hibernate,Hql,我需要使用HQL从表中返回重复记录的ID。我试过: "select pro from FichaProcedimento pro " + " inner join (" + " select pro.ficha.id, proc.id, proc.regiaoDente, proc.face " + " from FichaProcedimento " + " grou

我需要使用HQL从表中返回重复记录的ID。我试过:

"select pro from FichaProcedimento pro "
                + " inner join ("
                + " select pro.ficha.id, proc.id, proc.regiaoDente, proc.face "
                + " from FichaProcedimento "
                + " group by  pro.ficha.id, proc.id, proc.regiaoDente, proc.face" 
                + " having count(*)>1) proc "
                + " on pro.procedimento.id = proc.procedimento.id "
                + " where pro.ficha.id=? "
发生错误:

意外标记:靠近第1行第100列[从br.srv.datasolution.infodata.odntologico.entity.FichaProcedimento pro内部连接选择pro.ficha.id、proc.id、proc.regiaoDente、proc.face从br.srv.datasolution.infodata.odntologico.entity.FichaProcedimento组中按pro.ficha.id、proc.id、proc.regiaoDente、proc.face按proc.proc.id=proc.proccedimento.id,其中pro.ficha.id=?]


如何解决?

使用本机查询解决。谢谢!示例:

delete from Tabela
where Nome in
(select Nome from Tabela
group by Nome
having Count(Nome)>1)
and not matricula in
(select Min(Matricula) from Tabela
group by Nome
having Count(Nome)>1)

使用HQL,您可以获取FichaProcedimento模型,而不仅仅是id。为此,请使用条件查询或本机sql查询。