필드와 컬럼 매핑

매핑 정리

  • @Column : 컬럼 매핑
    • name : 필드와 매핑할 테이블의 컬럼 이름
    • insertable, updatable : 등록, 변경 가능 여부
    • nullable(DDL) : NULL값의 허용여부 설정, false로 설정하면 not null 제약조건이 붙는다.
    • unique(DDL) : @Table의 uniqueConstraints와 같지만 한 컬럼에 간단히 유니크 제약조건을 걸 때 사용한다.
    • columnDefinition(DDL) : 데이터베이스 컬럼 정보를 직접 줄 수 있다.
    • length(DDL) : 문자 길이 제약조건, default 값은 255
  • @Temporal : 날짜 타입 매핑
  • @Enumerated : enum 타입 매핑
  • @Lob : BLOB, CLOB 매핑 (varchar 보다 훨씬 큰 크기가 필요 할 때 사용 )
  • @Transient : 메모리에서만 쓰고 디비에는 상관없이 사용할때 사용


Enumerated

  • 자바 enum 타입을 매핑 할 때 사용, 주의 ! ORDINAL 사용 X
  • EX) EnumType.ORDINAL : enum 순서를 데이터베이스에 저장
  • EnumType.STRING : enum 이름을 데이터베이스에 저장

  • enum의 순서가 변경되면 데이터 구분이 안되므로 위험하기 때문에 STRING을 사용한다.

@Temporal

  • 날짜 타입을 매핑할때 사용한다.
  • TemporalType.DATE : 날짜, 데이터베이스 date 타입과 매핑 (2022-03-08)
  • TemporalType.TIME : 시간, 데이터베이스의 time 타입과 매핑 ( 11:11:11)
  • TemporalType.DATETIME : 날짜와 시간, 데이터베이스 timestamp 타입과 매핑 (2022-03-08 11:11:11)

@Transient

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

😄 참고 : 인프런 김영한님의 JPA 기본 강의 및 교재 , 블로그

🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

개인메모

태그:

카테고리:

업데이트: