J'utilise Hibernate et je veux faire une mise à jour en vrac, en changeant le statut de tous les objets dans une liste d'identifiants. donc j'ai essayé:Hibernate Query Language (HQL) Mettre à jour la liste
String update = "UPDATE Foo as foo SET foo.status = :status WHERE foo.id in (:idList)"
Ce qui a provoqué une exception:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax;
J'ai aussi essayé:
String update = "UPDATE Foo as foo SET foo.status = :status WHERE foo.id in (SELECT id FROM Foo WHERE id in (:idList))"
qui a causé la même exception.
Je l'insertion des paramètres comme ceci:
StatelessSession ss = sessionFactory.openStatelessSession();
Query query = ss.createQuery(update);
query.setParameter("status", status);
query.setParameterList("idList", ids);
query.executeUpdate();
Toute idée comment faire ce travail? Merci d'avance
Supprimez les Braves autour du paramètre. Ils devraient être ajoutés par hibernate – Jens
J'ai retiré, mais toujours eu la même erreur :( –