我有兩個表通過一個外鍵與一對多關係連接。Java:休眠 - 從多個表中刪除查詢
在實體中,我有以下:
@org.hibernate.annotations.Cascade({
org.hibernate.annotations.CascadeType.ALL,
org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
@OneToMany(mappedBy="monitoredFlight", fetch = FetchType.LAZY)
@OnDelete(action=OnDeleteAction.CASCADE)
private List<bTable> BTable = new ArrayList<BTable>();
現在我試着從表A中刪除與批量刪除查詢:
Query query = em.createQuery("delete from A where originDateTime<:date");
,我也得到了外鍵約束的錯誤。我決定做一個加盟只是刪除,我會在MySQL,所以我把它改爲:
Query query = em.createQuery("delete from A join BTable where originDateTime<:date");
,我得到了一個語法錯誤。我嘗試了幾種有或沒有連接的組合,沒有任何作用;有任何想法嗎?
我使用mysql作爲數據庫和java語言。
您正在使用什麼數據庫? – Gandalf 2009-08-19 16:31:10