하자 내가 아래 기관 Country
클래스가 미리 설정 한 마스터 테이블에 매핑 수정할 수 없습니다제어 자식 개체는
@Entity
public class Item{
private Country origin;
@ManyToOne(optional=true)
@JoinColumn(name="origin")
public Country getOrigin() {
return this.origin;
}
}
@Entity
public class Country{
private String code;
private String desc;
@Id
public String getCode() {
return this.code;
}
@Column
public String getDesc() {
return this.desc;
}
}
을 말한다. 사용자는 Item
을 새로 만들 때 origin
의 code
을 설정할 수 있습니다. 제공된 code
이 이미 마스터 테이블의 항목인지 어떻게 확인할 수 있습니까?
단순히 persist()
의 새로운 Item
이 존재하지 않고 자식이 지속되지 않는 code
인 경우 이보고됩니다. 존재하지 않는 마스터 데이터로 처리하기 위해이 예외를 시도하면됩니까? 아니면 더 좋은 대안이 있습니까?
실제로이 Item
개체에는 많은 하위 엔터티가 있으므로 마스터 데이터를 하나씩 명시 적으로 조회하는 것은 좋지 않습니다. 그리고 나는 이것이 좋은 해결책이 아니라고 생각합니다.