이전에도 계속 설명했듯이 객체와 테이블의 연관관계 매핑은 다르다.
이번 글에서는 그 다른 점을 어떻게 해결하며, 어떤 방식으로 매핑을 진행하는지에 대해서 살펴볼 예정이다.
Member 테이블
Member 엔티티
Team 테이블
Team 엔티티
설명은 위 테이블과 엔티티를 통해서 진행될 것이다.
먼저 위 테이블의 연관관계와 객체로 만들었을 때의 연관관계를 생각해보자
그렇다면 코드가 어떻게 될지 단방향 관계에 대해서 살펴보자.
먼저 단방향 연관관계에 대해서 알아보자.
단방향 연관관계란 연관관계가 있는 두 객체에서 한 쪽으로만 참조하는 것을 단방향 관계라한다.
그렇다면 위 내용을 토대로 객체를 이용한 연관관계를 코드로 작성해보자.
@Entity
@Table(name="MEMBER")
public class Member {
@Id
@Column(name = "MEMBER_ID")
private String id;
private String username;
private Integer age;
@ManyToOne
@JoinColumn(name = "TEAM_ID")
private Team team;
public void setTeam(Team team) {
this.team = team;
}
/**
* Getter, Setter or Constructor
*/
}
@Entity
public class Team {
@Id
@Column(name = "TEAM_ID")
private String id;
private String name;
/**
* Getter, Setter or Constructor
*/
}