[24.05.24] 내일배움캠프 28일차 JAVA TIL - Entity

2024. 5. 24. 13:51T.I.L

오늘 한 일

  • Web 강의 수강 - Swagger로 API 문서 작성하기
  • 2-6 ~ 2-13 스프링 숙련주차 수강

 

 


JPA 한걸음 더 나아가기

Entity 연관 관계

@ anotation을 이용하여 관계성 표시하기

 


1대 1 관계 @OneToOne

단방향 관계 : 외래 키의 주인 정하기

외래키의 주인만이 외래 키를 등록, 수정, 삭제할 수 있으며 주인이 아닌 쪽은 오직 외래 키를 읽기만 가능합니다.

 

@JoinColumn()은 외래 키의 주인이 활용하는 애너테이션

 

음식 엔티티

@Entity
@Table(name = "food")
public class Food {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private double price;

    @OneToOne
    @JoinColumn(name = "user_id")
    private User user;
}

 

고객 엔티티

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
}

 

가장 중요한 것은, 외래키의 주인만이 외래키를 컨트롤 할 수 있다.


OneToMany 와 ManyToOne의 차이점..