본문 바로가기

Spring/JPA

JPA- 중요! 엔티티 매핑

@Entity

 JPA가 관리하는 클래스를 엔티티라고 한다. 엔티티를 만들기 위해선 클래스의 기본생성자가 필수이다.

package hellojpa;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
public class Member {

    @Id
    private Long id;
    private String name;

    public Member(){}  //기본생성자 필수

    public Member(Long id, String name) {
        this.id = id;
        this.name = name;
    }
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

@Table

 @Table은 엔티티와 매핑할 테이블을 지정한다. @Table의 속성으로는 name이 있는데 이는 해당 엔티티를 어떤 이름의 테이블과 매핑할 것인가를 명시해줄 수 있다. 

package hellojpa;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "MBR")  //MBR이라는 테이블에 Member를 매핑해줌
public class Member {

    @Id
    private Long id;
    private String name;

    public Member(){}

    ....
}

만일 명시해주지 않는다면 엔티티명과 동일한 테이블에 매핑이된다.

package hellojpa;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table  //Member테이블에 매핑됨
public class Member {

    @Id
    private Long id;
    private String name;

    public Member(){}
    ...
}

엔티티 설계와 매핑

'Spring > JPA' 카테고리의 다른 글

JPA- 연관관계 매핑 주의점  (0) 2023.03.05
JPA- 연관관계 매핑  (0) 2023.03.05
JPA- flush와 영속성 관리  (0) 2023.02.28
JPA- 영속성 컨텍스트  (0) 2023.02.28
JPA- EntityManager.find()로 조회하기  (0) 2023.02.16