2017-05-10 176 views
0

我需要使用HQL從表中返回重複記錄的ID。我想:HQL中的重複記錄

"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=? " 

發生錯誤:

意外的標記:(從br.srv.datasolution.infodata.odontologico.entity.FichaProcedimento近線1,列100選擇親親內部聯接(從pro.ficha.id,proc.id,proc.regiaoDente,proc.face from br.srv.datasolution.infodata.odontologico.entity.FichaProcedimento group by pro.ficha.id,proc.id,proc.regiaoDente,proc。 (*)> 1)proc pro.procedimento.id = proc.procedimento.id其中pro.ficha.id =?]

如何解決?

+0

使用HQL,您可以獲得FichaProcedimento模型而不是單獨的id。要做到這一點,使用標準查詢或本機SQL查詢。 – Sudhakar

回答

0

用原生查詢解決。謝謝!例如:

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)