이전에도 계속 설명했듯이 객체와 테이블의 연관관계 매핑은 다르다.

이번 글에서는 그 다른 점을 어떻게 해결하며, 어떤 방식으로 매핑을 진행하는지에 대해서 살펴볼 예정이다.

Member 테이블

Untitled

Member 엔티티

Untitled

Team 테이블

Untitled

Team 엔티티

Untitled

설명은 위 테이블과 엔티티를 통해서 진행될 것이다.

먼저 위 테이블의 연관관계와 객체로 만들었을 때의 연관관계를 생각해보자

그렇다면 코드가 어떻게 될지 단방향 관계에 대해서 살펴보자.

단방향 연관관계

@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
		*/
}