엔티티 매핑 소개
- 객체와 테이블 매핑 :
@Entity
, @Table
- 필드와 컬럼 매핑 :
@Column
- 기본 키 매핑 :
@Id
- 연관관계 매핑 :
@ManyToOne
, @JoinColumn
@Entity
- 해당 어노테이션이 붙은 클래스를 JPA가 관리하며, 엔티티라고 한다.
- JPA를 사용해서 테이블과 매핑할 클래스는 해당 어노테이션은 필수다.
- 주의
- 기본 생성자 필수(파라미터가 없는 Public 또는 protected 생성자)
→ 동적처리 및 객체를 프록싱할 때 필요하기 때문.
- final 클래스, enum, interface, inner 클래스 사용 X
- 저장할 필드에 final 사용 X
@Entity 속성 정리
- 속성 : name
- JPA에서 사용할 엔티티 이름을 지정한다
- 기본값 : 클래스 이름을 그대로 사용(예 : Member)
- 같은 클래스 이름이 없으면 가급적 기본값을 사용한다
@Table
은 맵핑을 할 때 테이블명을 바꾸고 싶을떄 쓰면된다.
→ 쉽게 말하면, 해당 어노테이션을 추가하고 name에 테이블명을 작성하면 그 테이블명이랑 맵핑하게 된다는 것이다.
DB 스키마 자동 생성