본문 바로가기
Spring/JPA

Entity-Table 매핑 - Entity와 테이블 매핑방법

by YellowCow 2023. 2. 12.

JPA가 제공하려는 기능인 ORM은 Object-Relational Mapping이다

 

여기서 Object는 Entity, Relational은 테이블을 의미한다

 

ORM은 객체(Entity)와 테이블 간 매핑의 괴리를 해결하기 위해 나온 개념이다

 

이 페이지에서는 Entity와 테이블이 어떻게 매핑될 수 있는지 살펴보려고 한다

 

Entity는 클래스로 표현되며, @Entity 애너테이션이 붙는다

@Entity
class Member{
    /** ID */
    @Id
    private Long id;
    
    /** 이름 */
    private String name;
    
    /** 나이 */
    private Long age;
    
    /** 성별 */
    private GenderCode genderCode;
 
    //Entity는 기본 생성자가 필요하다
    public Member(){

    }
}

JPA에서는 Entity를 사용할 때, 기본 생성자를 필요로 한다

기본 생성자를 잊지 않고 생성해주자

 

Entity 속성으로 Entity의 이름을 지정할 수 있다

@Entity(name="Member")
class Member{
    /** ID */
    @Id
    private Long id;
    
    /** 이름 */
    private String name;
    
    /** 나이 */
    private Long age;
    
    /** 성별 */
    private GenderCode genderCode;
 
    //Entity는 기본 생성자가 필요하다
    public Member(){

    }
}

@Entity(name="Member")과 같이 Entity이름을 지정할 수 있다

JPA에서 다른 패키지에 있는 같은 이름의 Entity Class를 구분하는 목적으로 사용되며

평소에는 구분할 일이 많지 않으니, 이름을 지정하지 않아도 무방하다.

 

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

Entity-Table 매핑 - 필드 매핑(@Column)  (0) 2023.02.23
스키마 자동생성 옵션  (0) 2023.02.14
영속성 컨텍스트 이점  (0) 2023.02.12
엔티티의 생명주기  (0) 2023.02.12
영속성 컨텍스트  (0) 2023.02.12

댓글