2011-03-02 138 views
0

我有兩個一類是任務和其他代理。任務有如下JPA多對多單向映射

@ManyToMany(cascade=CascadeType.ALL) 
@JoinTable(name = "TASK_AGENT", joinColumns = @JoinColumn(name = "TID"), 
    inverseJoinColumns = @JoinColumn(name = "AID")) 
private List<Agent> agents=new ArrayList<Agent>(); 

我想,即使它引用的一些task.Is去除劑有沒有辦法做代理列表這entitymanager.remove(代理)給予約束違反異常。在哪裏以及我如何聲明一個級聯我不能在代理上聲明它,因爲關係應該是單向的。

回答

1

您可以查詢包含要刪除的代理的所有任務,並將其從收集中刪除。然後更新引用的任務,更新您正在玩的任務並刪除代理。