JPA manytomany单向映射

时间:2011-03-02 14:40:08

标签: jpa jpa-2.0

我有两个第一类是任务和其他代理.Task有一个代理列表,如下所示

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

我想删除代理,即使它引用了一些任务。有没有办法做这个entitymanager.remove(代理)给出约束违规异常。我必须声明一个级联我在哪里以及如何在代理上声明它因为关系应该是单向

1 个答案:

答案 0 :(得分:1)

您可以查询包含要删除的代理的所有任务,并将其从其集合中删除。然后更新引用的任务,更新您正在玩的任务并删除代理。