필드와 컬럼 매핑

jyKim·2023년 5월 10일
0

JPA

목록 보기
5/7

매핑 어노테이션

  1. @Column

    • 의미 그대로 컬럼 매핑
    • 속성
    속성설명기본값
    name필드와 매핑할 테이블 컬럼명객체 필드명
    insertable
    updatable
    등록, 변경 가능 여부 설정TRUE
    nullable(DDL)null값 허용 여부
    false일 경우 not null 제약 조건
    TRUE
    unique(DDL)@Table의 uniqueConstraints와 같이 컬럼에 유니크 제약 조건 설정
    하지만 제약조건명이 랜덤하게 생성되기에 자주 사용하지 않음
    FALSE
    columnDefinition(DDL)데이터베이스 컬럼 정보를 직접 입력
    ex) varchar(255) default 'Hello'
    length(DDL)문자 길이 제약 조건, String 타입에만 사용255
    precision
    scale(DDL)
    BigDecimal 타입에서 사용
    precision은 소수점을 포함한 전체 자릿수
    scale은 소수의 자릿수
    double, float 타입에서는 적용되지 않으며, 정밀한 소수를 다룰때 사용
    precision=19
    scale=2
  2. @Temporal

    • 날짜 타입 매핑(DATE, TIME, TIMESTAMP)
    • 최근 자바 버전에서는 LocalDate, LocalDateTime을 사용하기 때문에 자주 사용되지 않음
  3. @Enumerated

    • Enum Type 매핑
    • EnumType.ORDINAL : enum의 순서를 저장
    • EnumType.STRING : enum의 이름을 저장
    • 기본값은 ORDINAL이나 절대 사용하지 말 것. 반드시 STRING
  4. @Lob(Large Object)

    • Byte Lob
    • Character Lob
  5. @Transient

    • JPA Table 매핑에서 제외하고 싶을때 사용
    • Java 소스에서만 사용하고, DB에서는 사용하지 않을 때
profile
백엔드애옹

1개의 댓글

comment-user-thumbnail
2023년 5월 26일

더 줘요

답글 달기