@ManyToMany关系上不必要的删除

时间:2015-06-26 12:28:09

标签: hibernate jpa ejb many-to-many cascade

我有两个实体:

@Entity
public class Entity1 {

    @Id
    @Column(name="ID_ENTITY_1")
    private Integer id;

    @OneToMany(mappedBy="entity1", cascade={CascadeType.PERSIST})
    private List<Entity2> list;


    @ManyToMany
    @JoinTable(
        schema="schema",
        name="V_OTHER_RELATIONSHIP", 
        joinColumns={@JoinColumn(name="ID_ENTITY_1", insertable=false, updatable=false)}, 
        inverseJoinColumns={
            @JoinColumn(
                name="ID_ENTITY_2",
                referencedColumnName="ID_ENTITY_2",
                insertable=false, updatable=false
            )
        }
    )

    //getters and setters
}

@Entity
public class Entity2 {

    @Id
    @Column(name="ID_ENTITY_2")
    private Integer id;

    @ManyToOne
    @JoinColumn(name="ID_ENTITY_1)
    private Entity1 entity1;

    //getters e setters.
}

请注意,通过V_OTHER_RELATIONSHIP在@ManyToMany关系中不存在级联。

但是,当我在Entity1上执行一次删除时,首先发生的是V_OTHER_RELATIONSHIP中的一次删除导致错误,因为它是只读的。

帮助-ME。

0 个答案:

没有答案