개발/Jpa

필드와 컬럼 매핑

함께자라기 2023. 8. 25. 02:04

필드와 컬럼 매핑

맵핑 어노테이션

  • @Column 컬럼 매핑
  • @Temporal 날짜 타입 매핑
  • @Enumerated enum 타입 매핑
  • @Lob BLOB, CLOB 매핑
  • @Transient 특정 필드를 컬럼에 매핑하지 않음(매핑 무시)

@Column

@Enumerated

 

  • 자바 enum 타입을 맵핑하는 경우 사용한다
  • ORDINAL 은 사용하지 말자 (순서를 저장하기 때문에 실제 Enum 코드 변경시 잘못된 데이터를 바라볼 수 있음)

@Temporal

  • 날짜 타입(java.util.Date, java.util.Calendar)을 매핑할 때 사용
  • 참고: LocalDate, LocalDateTime 사용시 생략 가능

@Lob

  • 데이터베이스 BLOB, CLOB 타입과 매핑
    • @Lob에는 지정할 수 있는 속성이 없다.
    • 매핑하는 필드 타입이 문자면 CLOB 매핑, 나머지는 BLOB 매핑
    • CLOB: String, char[], java.sql.CLOB
    • BLOB: byte[], java.sql. BLOB

@Transient

  • 필드 매핑X
  • 데이터베이스에 저장X, 조회X
  • 주로 메모리상에서만 임시로 어떤 값을 보관하고 싶을 때 사용
  • @Transient
    • private Integer temp;