(2) 다양한 매핑 사용
Last update: a year ago by nowwaterReading time: 2 min
import javax.persistence.*;import java.util.Date;@Entity@Table(name="MEMBER")public class Member {@Id@Column(name = "ID")private String id;@Column(name = "NAME", nullable = false, length = 10) //추가private String username;private Integer age;@Enumerated(EnumType.STRING)private RoleType roleType;@Temporal(TemporalType.TIMESTAMP)private Date createdDate;@Temporal(TemporalType.TIMESTAMP)private Date lastModifiedDate;@Lobprivate String description;@Transientprivate String temp;//Getter, Setter...}public enum RoleType {ADMIN, USER}
코드 설명
1. roleType : 자바의 enum을 사용해서 회원 타입을 구분. 자바의 enum을 사용하려면 @Enumerated 어노테이션으로 매핑.
2. createDate, lastModifiedDate : 자바의 날짜 타입은 @Temporal을 사용해서 매핑
3. description : 회원을 설명하는 필드는 길이 제한이 없다. 데이타베이스 VARCHAR 타입 대신에 CLOB 타입으로 저장. @Lob를 사용하면 CLOB, BLOB 타입을 매핑할 수 있다.
오라클 기준 LOB 설명
- CLOB(Character Large OBject) : 텍스트 형태 파일 크기를 4GB까지 지원
- BLOB(Binary Large OBject) : 이진파일(이미지 등) 형태의 파일 크기를 4GB까지 지원