728x90
- Entity 기본 annotation
@Entity: 엔티티 클래스에 설정, 필수!
@Table: mapping 테이블을 지정
@Id: 식별자 속성에 설정, 필수!
@Column: 매핑할 컬럼명 지정, 지정하지 않으면 필드명과 프로퍼티명을 사용
@Enumerated: enum 타입 매핑할 때 설정
- Table annotation
annotation을 생략하면 클래스의 이름과 동일한 이름에 mapping
속성으로는
- name: 테이블 이름
- catalog: 카탈로그 이름
- Enumerated
EnumType.STRING: enum 타입 값 이름을 저장
EnumType.ORDINAL: enum 타입의 값의 순서를 저장
Mapping이 된 설정의 예를 보도록 하자
//mapping을 합니다.
@Entity
//user 테이블에 mapping 합니다.
@Table(name = "user")
public class User {
//식별자에 mapping 합니다.
@Id
//변수명에 mapping 합니다.
private String email;
private String name;
//create_date에 mapping 합니다.
@Column(name = "create_date")
private LocalDateTime date;
//열거타입 이름을 값으로 저장
//grade에 mapping
@Enumerated(EnumType.STRING)
private Grade grade;
protected User(){}
}
- Entity 클래스의 제약 조건
1. 반드시 @Entity를 작성해야함
2. 반드시 @Id를 작성해야함
3. 인자 없는 기본 생성자 필요(해당 생성자는 public이나 protected로 작성이 되어야 함)
4. 최상위 클래스여야 함.
'백엔드 > JPA' 카테고리의 다른 글
JPA 6장 (@Embeddable) (0) | 2023.03.17 |
---|---|
JPA 5장 (Entity 식별자 생성 방식) (0) | 2023.03.16 |
JPA 3장 (간단한 CRUD 구현해보기) (0) | 2023.03.16 |
JPA 2장 (영속 컨텍스트) (0) | 2023.03.15 |
JPA 1장 (우선 시작해보기) (0) | 2023.03.15 |