我想知道是否可以在Hibernate(3.2)中执行一个以SQLQuery#executeUpdate()
调用的分号分隔的SQL更新查询。一次执行多个本地查询
我有一个包含多个更新这样的字符串:
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
如果我执行手动的statements
的内容我得到没有错误,所以我假设多个半决赛OLon-separated查询在Hibernate或JDBC的某个地方造成麻烦。
单独为每一行分割statements
字符串和做createSQLQuery(statement).executeUpdate()
是更好吗?
示例代码有点偏离,实际上我计算了一些数值,它们应该没有引号,对不对? – Janne