これは私のHQLの試みorg.springframework.orm.hibernate4.HibernateQueryException:DML操作はサポートされていません[UPDATE]
である私は、データベース内のレコードを更新しようとしていると私はorg.springframework.orm.hibernate4.HibernateQueryException: Not supported for DML operations [UPDATE com.xxx.models.User u set u.notifiable = true WHERE u.emailAccess = :emailAccess AND u.isAdmin = false]; nested exception is org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.xxx.models.User u set u.notifiable = true WHERE u.emailAccess = :emailAccess AND u.isAdmin = false]
このエラーを取得
@Modifying
public User updateUser(String emailAccess) {
String hql = "UPDATE User u set u.notifiable = true WHERE u.emailAccess = :emailAccess AND u.isAdmin = false";
return (User) _sessionFactory.getCurrentSession().createQuery(hql).setParameter("emailAccess", emailAccess).list();
}
リサーチした後、@ Modificationアノテーションをメソッドの先頭に追加しましたが、エラーは引き続き発生します。何が間違っている可能性がありますか?
返信欄に** list()**が表示され、1人のユーザーしか返されません。それが正しいか? – duardito
'list'の代わりに 'executeUpdate()'を使用してください 同じ問題が発生しました: http://stackoverflow.com/questions/17622147/not-supported-for-dml-operations-with-simple-update-query – seiya