2011-05-02 3 views
2

앱의 지속성 저장소를 설계하고 있습니다.JPA2에서 @ManyToOne 필드를 필수로 만드는 방법은 무엇입니까?

나는 최대 절전 모드 + JPA2에 새로운 오전 나는이 A 경우 외국 필수 키에 문제가 만드는 더 복잡한 관계을 데.

예 (은 메모장에 쓴, 그래서 정확히. 아니다)

나는 톱 클래스 여러 게시물 (다른 클래스)를 저장할 수있는 사람이라고합니다.

나는이

@Entity 
@Table(name="tb_people") 
public class Person{ 
    @Id 
    @GeneratedValue 
    public long   id; 

    @OneToMany(mappedBy="person") 
    List<Post>   listOfPosts; 

    . 
    . more code 
    . 

} 

@Entity 
@Table(name="tb_posts") 
public class Post{ 

    @Id 
    @GeneratedValue 
    public long   id; 

    @ManyToOne 
    @JoinColumn(name = "person_id") 
    Person    person; 

    . 
    .more code 
    . 

} 

어떻게 사용 할 수 주석처럼 내 최고 수준의 포스트에있는 사람 필드는 필수 있도록지도하는 경우?

@Column (nullable = false)을 사용해 보았지만 @ManyToOne Collection에서 해당 주석을 사용할 수 없다는 예외가 발생했습니다.

감사합니다.

답변

0

를 참조하거나 그냥 javax.validations.constraints 패키지에서 @NotNull을 사용할 수 있습니다 @Column하지 @JoinColumn(name=..., nullable=false)을 사용해야합니다.

관련 문제