2011-04-06 91 views

回答

-6

不確定您是否可以使用Criteria執行此操作,但可以使用批量操作(例如刪除或更新)創建HQL。從「Persistence with Hibernate」一書中查看這個例子(第535頁):

Query q = session.createQuery(
    "delete CreditCard c where c.stolenOn is not null" 
); 
int updatedCreditCards = q.executeUpdate(); 

最好的問候!

5

它不是直接可能的,但你可以使用通過類型安全的DELETE和UPDATE查詢Querydsl JPA擴展。 Querydsl在內部使用JPQL,但爲查詢構建提供了一個類型安全的流暢接口。

我是Querydsl的維護者,所以這個答案是有偏見的。

7

它將在JPA 2.1版本中可用。

+3

而[這裏](http://en.wikibooks.org/wiki/Java_Persistence/Criteria#CriteriaDelete_.28JPA_2.1.29)是你如何在2.1中刪除 – TheConstructor 2014-03-17 16:13:51