0
I는 다음과 같이 정의 테이블이 :외래 키를 null로 설정하는 방법은 무엇입니까?
@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;
....
}
나는 선적에 연결되어 고객/택배/관세 개체를 삭제할. 그래서 기본적으로 Foreign Key를 NULL로 설정할 수 있기를 원합니다.
nullable이 true로 설정되어 있지만 glassfish는 수행 할 수 없다고 외래 키 제약 조건을 위반했습니다. 어떤 아이디어?
메신저 6, javax.persistence.api 1.0.2, glassfish 3+ 및 java derby db를 사용합니다.
제약 조건을 위반하면 JPA와 Glassfish가 아니라 데이터베이스에서 가져옵니다. 연결이 선택 사항이고 조인 열이 nullable로 표시 되어도 데이터베이스에 null 제약 조건이있는 경우 데이터베이스에서이를 적용하므로 예외가 발생합니다. 데이터베이스 스키마를 변경하십시오. –
내가 어떻게하는지 말해 준다면 정말 행복 할거야. –