JPA / Hibernate typesafe DELETE查询

我见过的唯一CriteriaQuery示例是SELECT查询。有没有办法用JPA 2或Hibernate API构建类型安全的DELETE查询?     
已邀请:
我不认为这是可能的。 引自http://blogs.oracle.com/ldemichiel/entry/java_persistence_2_0_public1:   Criteria API目前不支持更新和删除操作     
它将以JPA 2.1版本提供。     
它不是直接可行的,但您可以通过Querydsl JPA扩展使用类型安全的DELETE和UPDATE查询。 Querydsl在内部使用JPQL,但为查询构造提供了类型安全的流畅接口。 我是Querydsl的维护者,所以这个答案是有偏见的。     
不确定您是否可以使用Criteria执行此操作,但可以使用批量操作(如删除或更新)创建HQL。从“Persistence with Hibernate”一书(第535页)中查看此示例:
Query q = session.createQuery(
   "delete CreditCard c where c.stolenOn is not null"
);
int updatedCreditCards = q.executeUpdate();
最好的祝福!     

要回复问题请先登录注册