一次执行多个本机查询
我想知道是否可以在Hibernate(3.2)中使用一次调用来执行几个分号分隔的SQL更新查询。SQLQuery#executeUpdate()
我有包含多个更新的字符串,如下所示:
String statements = "UPDATE Foo SET bar=1*30.00 WHERE baz=1;
UPDATE Foo SET bar=2*45.50 WHERE baz=2;...";
我正在尝试做
Query query = session.createSQLQuery(statements);
query.executeUpdate();
但不断得到以下错误
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
如果我手动执行的内容,我不会得到任何错误,所以我假设多个分号分隔的查询在Hibernate或JDBC的某个地方引起了麻烦。statements
是否最好只拆分字符串并为每行单独执行操作?statements
createSQLQuery(statement).executeUpdate()