我尝试在eclipse的HQL工具中执行删除查询,如下所示
delete from Address address where address.id = 6
但我得到了
org.hibernate.hql.QueryExecutionRequestException: Not supported for DML operations
请告诉我,我做错了。 谢谢。
答案 0 :(得分:24)
在更新方法上尝试注释@Modifying
。
答案 1 :(得分:3)
我有同样的问题。您的问题不是使用DML ...第一个建议发布了DML解决方案的链接,但您的问题是针对SQL。
这适用于SQL。
String sql = "delete from ServiceProviderMapping where id=7";
Query query = hibernateSession.createQuery(sql);
query.executeUpdate();
答案 2 :(得分:1)
请尝试以下方法:
final String hql = "delete from Job where jobId = :id";
Query query = session.createQuery(hql).setLong("id", jobId);
query.executeUpdate();
答案 3 :(得分:0)
This post建议尝试手动打开会话,然后运行删除。