티스토리 뷰

반응형

JPA Domain 셀프 참조 (셀프 조인) 구현하기

예제로 사용한 Domain은 책의 목차(BookContent)로 하위 목차(subBookContents)를 여러개 참조하고 있고, 상위 목차(superBookContent)를 0개~1개 가질 수 있습니다.

@Entity
public class BookContent {
    . . .

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "super_book_content_id")
    private BookContent superBookContent;

    @OneToMany(mappedBy = "superBookContent", cascade = CascadeType.ALL)
    private List<BookContent> subBookContents;

    . . . 
}


중요한점은 OneToMany의 컬렉션을 List를 사용해야 한다는 겁니다! (Set을 사용했다가 10시간은 삽질했습니다.ㅠㅠ)

반응형
댓글