valores símbolo seguido por nombre near esperaba corchete conjunto apertura hibernate db2 native-sql

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í.