Me pregunto si es posible ejecutar varias consultas de actualización de SQL separadas por punto y coma con una llamada SQLQuery#executeUpdate()
en Hibernate (3.2).Ejecutando múltiples consultas nativas de una vez
tengo cadena que contiene varias actualizaciones de esta manera:
String statements = "UPDATE Foo SET bar=1*30.00 WHERE baz=1;
UPDATE Foo SET bar=2*45.50 WHERE baz=2;...";
que estoy tratando de hacer
Query query = session.createSQLQuery(statements);
query.executeUpdate();
pero obtengo el siguiente error
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near
'UPDATE Foo SET bar=Y WHERE ' at line 3
Si ejecuto el contenidos del statements
a mano no consigo errores, así que estoy asumiendo el múltiplo semic Las consultas separadas por olon están causando problemas en Hibernate o JDBC.
¿Es mejor simplemente dividir la cadena statements
y hacer createSQLQuery(statement).executeUpdate()
individualmente para cada línea?
El código de ejemplo estaba un poco apagado, en realidad estoy calculando algunas cantidades en la barra, deberían estar bien sin comillas, ¿no? – Janne