개발 낙서장

[TIL] 내일배움캠프 26일차 - Entity 연관 관계 본문

Java/Sparta

[TIL] 내일배움캠프 26일차 - Entity 연관 관계

권승준 2024. 1. 30. 20:54

 

 

오늘의 학습 키워드📚

Entity 연관 관계

  • 1대 1 관계 : @OneToOne 애너테이션 사용. @JoinColumn을 통해 외래키를 지정한다.
    양방향 관계라면 @OneToOne 애너테이션에 mappedBy 옵션을 달아주어 참조 필드 명을 입력해야 한다.
  • N대 1 관계 : @ManyToOne 애너테이션 사용. 단방향에선 역시 @JoinColumn으로 외래키를 지정한다.
    양방향 관계라면 참조 테이블에 @OneToMany 애너테이션을 사용한다. 여러 개가 존재할 수 있으므로 List를 사용한다.
  • 1대 N 관계 : @OneToMany 애너테이션 사용. @JoinColumn으로 외래키를 지정하지만 여러 개가 존재할 수 있으므로 List를 사용한다.
    양방향 관계는 일반적으로 존재하지 않는다.
  • N대 M 관계 : @ManyToMany 애너테이션 사용. 보통 중간 테이블을 사용한다.
    각각 테이블을 기준으로 중간 테이블에 대해 1대 N 관계이므로 @OneToMany을 사용하며 mappedBy 옵션으로 해당 Entity의 필드 명을 적어준다. OneToMany이므로 List로 관리한다.
    중간 테이블을 기준으로 각각의 테이블에 대해 N대 1 관계이므로 @ManyToOne을 사용하며 @JoinColumn으로 외래키를 지정해준다.

오늘의 회고💬

숙련 주차 강의가 막바지에 향해가고 있다. 사실 아직도 Spring Security 부분은 겨우 따라만 하는 정도이다. 맨 땅에 나 혼자 구현하라 하면 절~~~~~대 못한다. 그래도 차근차근 하다보면 지금껏 그래왔던 것처럼 언젠가 자연스레 사용할 수 있을 거라 생각한다.

 

내일의 계획📜

강의를 마무리하고 Spring 숙련 주차 개인 과제를 진행해야 한다. 어려워 보이지만 천천히 해봐야겠다!

Comments