2012-09-17 103 views
1

我在我的數據庫表中的以下數據如何使用JPA有條件地刪除記錄?

1 [email protected] 2323
2 [email protected] 3432
3 [email protected] 4433

我想刪除所有記錄在表中email == [email protected]

下面是我的EJBQL--我不知道我出錯的地方,但查詢不起作用。

Query query = em.createQuery("DELETE FROM ResetPasswordEntity r WHERE r.email=:email"); 
query.setParameter("email", email); 
+0

您真的在使用EJB QL嗎?也許你的意思是JPQL?如果是這樣,那麼在使用批量刪除操作時,級聯行爲將不會被應用(儘管'cascade = DELETE') –

+0

嗨,感謝您的回覆。 ejbql和jpql有什麼區別? – Slay

+2

EJB QL基本上來自舊時代(J2EE),當JPA規範更成熟時,它被JPA QL所取代。 –

回答

1

該查詢是正確的。我缺少一行代碼。這是爲了那些可能面臨這個問題的人的利益。

query.executeUpdate();