4.3 다양한 매핑 사용

package jpabook.start;

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;

    @Lob
    private String description;

    @Transient
    private String temp;

    //Getter, Setter

    ...
}


package jpabook.start;

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) : 이진파일(이미지등) 형태의 파일 크기를 4BG까지 지원

results matching ""

    No results matching ""