1

私は双方向の関係を次のようにマッピングしています

@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)DBで強制された外部キー参照が設定されているのに、顧客に対して削除を実行すると、親リレーションのサーバーの@JoinColumn値をに設定できないというエラーが発生することです。ヌル。

さまざまなオプションの属性、@ManyToOneのcascade= ALL、顧客の@PreRemoveメソッド(サーバーリストをクリアしようとしている)を試しましたが、役に立ちませんでした。クライアントのすべてのサーバーを最初に削除するのではなく、最初に関係をクリアしようとしたため、問題が発生しました。

よろしくお願いします、Nik

4

0 に答える 0