Java HQL中的重复记录
我需要使用HQL从表中返回重复记录的ID。我试过: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
"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查询。