【와신상담】
[jpa] 셀프 양방향 연관관계
아딜렛
2025. 2. 13. 10:42
셀프 양방향 연관관계
자기참조 관계
카테고리의 계층 구조를 표현하기 위한것
@ManyToOne
@JoinColumn(name="parent_id")
private Category parent;
@OneToMany(mappedBy = "parent")
private List<Category> child = new ArrayList<>();
"전자제품" (부모 카테고리)
"노트북" (자식 카테고리)
"스마트폰" (자식 카테고리)
"애플" (손자 카테고리)
"삼성" (손자 카테고리)
이렇게 계층적인 구조를 데이터베이스에서 표현할 수 있습니다. 데이터베이스 테이블에서는 다음과 같이 저장됩니다:
category_id: 1, name: "전자제품", parent_id: null
category_id: 2, name: "노트북", parent_id: 1
category_id: 3, name: "스마트폰", parent_id: 1
category_id: 4, name: "애플", parent_id: 3
category_id: 5, name: "삼성", parent_id: 3
이러한 구조를 통해 카테고리의 계층 구조를 쉽게 탐색하고 관리할 수 있습니다.