🔗 다양한 매핑 사용

개발하던 회원 관리 프로그램에 요구사항이 추가되었다.

회원 엔티티에 기능 추가

@Data@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; //...1 구분    @Temporal(TemporalType.TIMESTAMP)    private Date createdDate; //...2 생성일    @Temporal(TemporalType.TIMESTAMP)    private Date lastModifiedDate; //...2 수정일    @Lob    private String description; //...3 회원 설명}

코드 분석

  1. roleType : 자바의 enum을 사용해서 회원의 타입을 구분했다. enum을 사용하기 위해선 @Enumerated 어노테이션으로 매핑해야 한다.
  2. createDate, lastModifiedDate : 자바의 날짜 타입은 @Temporal을 사용해서 매핑한다.
  3. description : 회원을 설명하는 필드는 길이 제한이 없다. 따라서 데이터베이스의 VARCHAR 대신 CLOB 타입으로 저장해야 한다.@Lob을 사용하면 CLOB, BLOB 타입을 매핑할 수 있다.