JPA를 사용해 테이블과 매핑할 클래스는
@Entity
어노테이션을 필수로 붙여야 한다.
속성 정리
@Entity 적용 시 주의사항
protected
로 생성하자.final
클래스, enum
, inteface
, inner
클래스에는 사용할 수 없다.엔티티와 매핑할 테이블을 지정할 때 사용한다. (생략 시 매핑한 엔티티 이름을 테이블명으로 사용)
어노테이션 속성 정리
JPA 시작하기 장에서 개발하던 회원 관리 프로그램에 아래 요구사항이 추가되었다고 가정하자!
- 회원은 일반 회원과 관리자로 구분해야 한다.
- 회원 가입일과 수정일이 있어야 한다.
- 회원을 설명할 수 있는 필드가 있어야 한다. → 필드 길이 제한은 없음!
요구사항을 만족하도록 작성한 예제 코드
@Entity
@Table(name="MEMBER")
public class Member {
@Id
@Column(name="ID")
private String id;
@Column(name="NAME")
private String username;
private Integer age;
@Enumerated(EnumType.STRING)
private RoleType roleType;
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
@Temporal(TemporalType.TIMESTAMP)
private Date lastModifiedDate;
@Lob
private String description;
}
public enum RoleType {
ADMIN, USER
}