728x90
한 팀(TEAM)에 여러 Member가 있는 1:N관계를 가정하자.
그러면 TEAM의 ID가 FK로 Member 테이블에 들어있어야 한다.
이를 연관관계를 이용하면 좀 더 객체지향적으로 만들 수 있다.
테이블은 외래 키로 조인하여 연관된 테이블을 찾고
객체는 참조를 사용해 연관된 객체를 찾는다는 차이가 있다.
<Member 엔티티>
@ManyToOne
@JoinColumn(name="TEAM_ID")
private Team team;
Member에서 Team 자체를 갖고있다. (Team의 id를 갖고있는 것이 아니라)
위 코드처럼 작성하면 Member의 team과 TEAM_ID가 연관관계 매핑이 된다.
@ManyToOne 과 같은 어노테이션을 통해 매핑을 하여 이 관계가 1:N인지 N:M인지 N:1인지 알려줘야한다.
Member 여러 명이 하나의 팀에 소속되는 것이므로 Many가 Member쪽에 있다.
@joinColumn을 통해 TEAM_ID(team의 pk)와 매핑을 한다.
반응형
'개발공부 > [Spring]김영한_ORM표준 JPA프로그래밍' 카테고리의 다른 글
[애플리케이션 개발]persistence_entityManagerFactory, 엔티티 생성 (0) | 2022.08.23 |
---|---|
[spring]JPQL이 뭔가요?(파라미터와 select) (0) | 2022.08.18 |
[spring] 양방향 연관관계&연관관계의 주인 (0) | 2022.08.18 |
[매핑 어노테이션]@Entity, @Table, @Enumerated, @Id, @GeneratedValue, @Temporal,@Lob (0) | 2022.08.18 |
플러쉬(flush)란? (0) | 2022.08.18 |