Hibernate(3.2)でSQLQuery#executeUpdate()
コールを1つ使用して複数のセミコロンで区切られたSQL更新クエリを実行できるかどうかは疑問です。複数のネイティブクエリを一度に実行する
私はこのような複数の更新を含む文字列があります:私は
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
を得続けるためにしようとしている
String statements = "UPDATE Foo SET bar=1*30.00 WHERE baz=1;
UPDATE Foo SET bar=2*45.50 WHERE baz=2;...";
を内容は手でstatements
私はエラーがないので、私は複数のsemicオロンで区切られたクエリは、HibernateやJDBCのどこかで問題を引き起こしています。
statements
文字列を分割し、行ごとに個別にcreateSQLQuery(statement).executeUpdate()
を実行する方が良いですか?
例のコードは少しオフになっていましたが、実際には値を計算していますが、引用符を付けずにOKです。 – Janne