because the error failed because of: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token?

0

I have the following query in oracle

select NDATETIME,
Case NREADERIDN
    WHEN 52730 THEN 'INDEPENDENCIA'
    WHEN 52731 THEN 'INDEPENDENCIA'
    WHEN 52734 THEN 'TRIANGULAR'
    WHEN 52735 THEN 'TRIANGULAR'
    WHEN 52737 THEN 'INDEPENDENCIA'
    WHEN 52738 THEN 'INDEPENDENCIA'
    WHEN 52739 THEN 'JUAREZ'
    WHEN 52762 THEN 'INDEPENDENCIA'
    WHEN 52768 THEN 'JUAREZ'
    WHEN 52769 THEN 'JUAREZ'
END AS NREADERIDN,
CASE WHEN NEVENTIDN IN(55, 43, 44) THEN 'EXITOSO'
     ELSE 'ERRONEO' 
END AS NEVENTIDN , TO_DATE('19700101','yyyymmdd HH24:MI:SS') + (NDATETIME/24/60/60)  AS FEC_EVENTO
FROM REGISTRO_ACCESO 
WHERE NUSERID =? AND NDATETIME= ?
ORDER BY NDATETIME ASC;

and I want to pass it to JPA and I have it in the following way

@NamedQuery(name = "findRegistroAccesoByNuserid1", query = "SELECT CASE myRegistroAcceso.nreaderidn WHEN 52730 THEN 'INDEPENDENCIA' WHEN 52731 THEN 'INDEPENDENCIA' WHEN 52734 THEN 'TRIANGULAR' WHEN 52735 THEN 'TRIANGULAR' WHEN 52737 THEN 'INDEPENDENCIA'
WHEN 52738 THEN 'INDEPENDENCIA' WHEN 52739 THEN 'JUAREZ' WHEN 52762 THEN 'INDEPENDENCIA' WHEN 52768 THEN 'INDEPENDENCIA' WHEN 52769 THEN 'INDEPENDENCIA' END AS myRegistroAcceso.nreaderidn, CASE WHEN myRegistroAcceso.neventidn IN(55,44,43) THEN 'EXITOSO'
ELSE 'ERRONEO' END AS myRegistroAcceso.neventidn, TO_DATE('19700101','yyyymmdd HH24:MI:SS') + (myRegistroAcceso.ndatetime/24/60/60) AS FEC_EVENTO FROM RegistroAcceso myRegistroAcceso WHERE myRegistroAcceso.nuserid =?1 ORDER BY myRegistroAcceso.ndatetime
ASC"),

but I get that error and it does not let me deploy

    
asked by Root93 12.03.2018 в 23:45
source

1 answer

0

The error occurs because the annotation @NamedQuery is used to define a static query using the query language of JPA, or séa, in JPQL ( official documentation of the annotation ). Therefore, if you need to define a query in native SQL, you should use the annotation @NamedNativeQuery ( documentation Annotation officer ).

    
answered by 12.03.2018 в 23:55