我有一个双向关系映射为
@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 值不能设置为无效的。
我尝试了各种可选属性,@ManyToOne 上的 cascade=ALL,客户上的 @PreRemove 方法(试图清除服务器列表)但无济于事。它不是首先为客户端删除所有服务器,而是首先尝试清除关系,导致不好。
在此先感谢,尼克