我有两个实体:
@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。