2009-12-29 123 views
12

我试图执行删除查询在Eclipse的HQL工具休眠 - 删除日食休眠工具HQL

delete from Address address where address.id = 6 

以下,但我得到了

org.hibernate.hql.QueryExecutionRequestException: Not supported for DML operations 

请告诉我,我已经做了错误。 谢谢。

回答

0

This post建议尝试手动打开会话,然后运行删除。

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

复制/粘贴不是一个好的答案......请解释 – Andrew 2012-11-04 07:48:23

24

尝试对更新方法的注释@Modifying

+0

根据[Spring文档](https://docs.spring.io/spring-data/jpa/docs/current/reference/html/# jpa.modifying-queries),无论何时添加自定义行为以修改仅需要参数绑定的查询,都可以使用@ @Menifying注解 – Narasimha 2017-01-30 17:12:44