본문 바로가기
  • Adillete
【와신상담】

[jpa] 셀프 양방향 연관관계

by 아딜렛 2025. 2. 13.

셀프 양방향 연관관계
자기참조 관계 
카테고리의 계층 구조를 표현하기 위한것

@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

이러한 구조를 통해 카테고리의 계층 구조를 쉽게 탐색하고 관리할 수 있습니다. 

'【와신상담】' 카테고리의 다른 글

[jpa] fetch join  (0) 2025.02.19
「intelij」 단축키  (0) 2025.02.13
[jpa]페치 조인,named 쿼리,벌크연산  (0) 2025.02.11
[spring] websocket  (0) 2025.02.10
[jpa] 데이터 타입 분류  (0) 2025.02.05