Boa noite a todos,
Estou com um problema mas não estou conseguindo resolver…
Criei uma query com o JPQL, mas só q o EclipseLink ñ está reconhece eu acho a função nativa de conversão do postgres, essa é a query:
Para eu usar o coalesce os 2 parâmetros tem que ser iguais ,tanto p.usuario.id como :idUsuario são um long ,o problema é que o parâmetro :idUsuario não sei pq chega como String dai joga uma exceção do postgres
Dai pesquisando testei essa query no banco e rodou
Mas só que o JPA não reconhece a função CAST e joga uma exceção:
Exception Description: Syntax error parsing the query [Prova.findAll: select p from Prova p join p.listaDeQuestoes q join q.listaDePalavrasChaves pc where p.usuario.id = coalesce(CAST(:idUsuario AS bigint), p.usuario.id = 1)], line 1, column 93: unexpected token [(].
Internal Exception: NoViableAltException(83@[()* loopback of 383:9: (d= DOT right= attribute )*])
E eu estou chamando a query deste jeito:
E no DTO o atributo idUsuario é um Long
Alguém pode dar uma luz ?