Query TopLink

4 respostas
F

Amigos,

Estou com o seguinte problema: Tenho que fazer uma query que retire os pontos de um determinado campo para efetuar a pesquisa e estou utilizando a seguinte sintaxe:

@NamedQuery(name = "ComunicadoReajuste.findByNmProtocolo",
    query = "SELECT c FROM ComunicadoReajuste c " +
            "where (TRANSLATE(c.nmProtocolo,'0./- ','0') = :nmProtocolo)")

Obs: Isso funciona corretamente no PL/SQL porém o toplink não da suporte para a função TRANSLATE, alguém sabe de uma solução alternativa para limpar os “.” pontos ???

4 Respostas

Mauricio_Linhares

Primeiro, esse campo não deveria ter esses pontos né :stuck_out_tongue:

Segundo, use queries nativas, nelas você vai poder usar tudo o que existe de função no seu banco de dados.

F

Concordo com vc mas como existem informações antigas que não eram tratadas tenho que me virar na aplicação para efetuar as consultas. Em relação as queries nativas utilizo elas com esta mesma sintaxe ???

@NamedQuery(name = “Nome da Query”, query = “SQL NATIVO”)

Valeu pela atenção !

Mauricio_Linhares

http://java.sun.com/javaee/5/docs/api/javax/persistence/NamedNativeQuery.html

F

Resolveu o meu problema, obrigado pela informação ! :smiley:

Criado 17 de abril de 2008
Ultima resposta 17 de abr. de 2008
Respostas 4
Participantes 2