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 |
댓글