Olá, estou tentando executar a seguinte query em hql
@Modifying
@Transactional
@Query("DELETE FROM Pacote pa WHERE pa.prospectos IN(SELECT pc.prospecto FROM ProspectoCampo pc WHERE pc.valor IN (SELECT tb.telefone FROM TelefoneBloqueado tb))")
public void deletarBloqueadosEmPacote();
Esta mesma query executada em sql ficaria assim (Executou Perfeitamente)
delete from com_pacote_prospecto where id_prospecto in
(select cp.id_prospecto from com_prospecto_campo cp where cp.valor in
(select tb.telefone from com_telefone_bloqueado tb))
Eu tenho uma tabela de Pacote que seria um conjunto de “pessoas”, essas “pessoas” possuem atributos(como telefone), e eu quero deletar do conjunto de pacotes todas as pessoas que possuem telefones que estão presentes em uma terceira tabela.
Ao executar essa query no sistema ocorre o seguinte erro
[color=red]ERRO: erro de sintaxe em ou próximo a “cross”[/color]
e a query que está sendo executada tem o inicio desse modo:
[color=red] delete from com_pacote cross join com_pacote_prospecto prospecto2_ where . in (…subquery…);[/color]
Se puderem me dar ajuda de como alterar essa query ou alguma outra sugestão…
Agradeço desde já!