私はこのように定義されたテーブルを持っています:
@Entity
public class Shipment implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne(optional=true)
@JoinColumn(name="SENDER_ID",referencedColumnName="CUSTOMER_ID", nullable=true)
private Customer sender;
@ManyToOne(optional=true)
// @Column(nullable=true)
@JoinColumn(name="TARRIF_ID",referencedColumnName="TARRIF_ID",nullable=true)
private Tarrif tarrif;
@ManyToOne(optional=true)
// @Column(nullable=true)
@JoinColumn(name="RECIPIENT_ID",referencedColumnName="CUSTOMER_ID",nullable=true)
private Customer recipient;
@ManyToOne(optional=true)
// @Column(nullable=true)
@JoinColumn(name="COURIER_ID",referencedColumnName="COURIER_ID",nullable=true)
private Courier courier;
....
}
出荷にリンクされているcustomer/courier/tariffオブジェクトを削除したい。したがって、基本的に、外部キーをNULLに設定できるようにしたいのです。
nullableはtrueに設定されていますが、glassfishはそれができないと言っており、外部キーの制約に違反しています。何か案は ?
javaee 6、javax.persistence.api 1.0.2、glassfish 3+、およびjavaderbydbを使用しています。