hibernate - símbolo - se esperaba un corchete de apertura seguido por un conjunto de valores near at position 0
lanzamiento de hibernación: se encontró un token inesperado después de "" (1)
Tengo una consulta SQL nativa que quiero ejecutar a través de Hibernate, pero arroja un error:
org.hibernate.exception.SQLGrammarException:
could not execute native bulk manipulation query
Caused by:
com.ibm.db2.jcc.am.SqlSyntaxErrorException: An unexpected token ""
was found following "". Expected tokens may include: "NQ_EXE_ID = 12345"
el código que ejecuto para realizar la actualización es:
SQLQuery updateQuery = getSession().createSQLQuery(updateSql);
System.out.println(updateQuery.getQueryString());
updateQuery.executeUpdate();
durante la depuración puedo ver dentro del objeto SQLQuery y el sql es: (que funciona bien en db2)
UPDATE some_table SET DEST_FLDR = ''some_value'' ,
LST_CHG_TMS = CURRENT TIMESTAMP
WHERE SUB_RUN_ID = 111111
AND INQ_EXE_ID = 12345 ;
si ejecuto manualmente el sql producido por el código anterior, se ejecutará correctamente. Sin embargo, cuando intento hacerlo a través de Hibernate arroja la ''syntaxErrorException''. ¿Algunas ideas? Gracias
El problema es causado por el punto y coma al final de la consulta. La herramienta SQL de PostgreSQL que utiliza la quiere porque permite separar varias consultas, pero para ejecutar consultas individuales a través de una declaración de Java, el punto y coma no debe estar allí.