在Eclipse Hibernate工具中删除Hibernate的HQL。

12

我尝试在Eclipse的HQL工具中按以下方式执行删除查询:

delete from Address address where address.id = 6

但我遇到了问题

org.hibernate.hql.QueryExecutionRequestException: Not supported for DML operations
请告诉我我做错了什么。谢谢。
4个回答

24
尝试在更新方法上使用注释@Modifying

根据Spring文档,每当您为仅需要参数绑定的修改查询添加自定义行为时,请使用@Modifying注释。 - Narasimha

3
我遇到了同样的问题。你的问题并不是使用DML...第一个建议提供了一个解决DML问题的链接,但你的问题是关于SQL的。
以下是适用于SQL的解决方法。
String sql = "delete from ServiceProviderMapping where id=7";
Query query = hibernateSession.createQuery(sql);
query.executeUpdate();

1
请尝试以下操作:
final String hql = "delete from Job where jobId = :id";
Query query = session.createQuery(hql).setLong("id", jobId);

query.executeUpdate();

0

这篇文章建议尝试手动打开会话,然后运行删除操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接