我将bidirectinal relatioship映射为
@Entity
public class Customer {
@OneToMany(mappedBy = "customer", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Servers> servers;
}
和
@Entity
public class Server {
@ManyToOne
@JoinColumn(name = "...")
private Customer customer;
}
问题是我有一个(Oracle)数据库强制执行的外键引用,但当我对客户执行删除操作时,我最终得到一条错误,指出父关系的服务器中的@JoinColumn值不能设置为null。
我尝试了各种可选属性,cascade = ALL在客户的@ManyToOne,@ PreRemove方法上(试图清除服务器列表),但无济于事。它首先尝试清除关系,而不是先删除客户端的所有服务器,导致不良。
提前致谢, NIK