[4단원] JPA 필드와 컬럼 매핑

JPA 필드와 컬럼 매핑

  • JPA 를 이용하면 자바 객체와 DB 테이블간의 매핑을 간단히 설정가능
  • 매핑 어노테이션
    1. @Column
      1. name
        • 필드와 매핑할 테이블의 컬럼 이름을 지정
        @Column(name = "column_name")
        private String fieldName;
      1. insertable
        • 엔티티가 저장될 때 해당 필드도 저장할지 여부를 결정
        @Column(insertable = false)
        private String readOnlyField;
      1. updatable
        • 엔티티가 수정될 때 해당 필드도 수정할지 여부를 결정
        @Column(updatable = false)
        private String nonUpdatableField;
      1. table
        • 특정 필드를 다른 테이블과 매핑할때 사용
        @Column(table = "another_table")
        private String fieldInAnotherTable;
      1. nullable
        • 컬럼값 null 허용 여부
        @Column(nullable = false)
        private String nonNullableField;
      1. unique
        • 컬럼에 unique 제약 조건을 설정
        @Column(unique = true)
        private String uniqueField;
      1. columnDefinition
        • 데이터 베이스 컬럼 정보 지정
        @Column(columnDefinition = "varchar(100) default 'EMPTY'")
        private String fieldWithDefinition;
      1. length
        • 문자열 최대 길이 지정
        @Column(length = 400)
        private String longStringField;
      1. precision , scale
        • BigDecimal 타입에서 사용
          • precision
            • 소수점을 포함한 전체 자릿수
          • scale
            • 소수의 자리수를 나타냄
        @Column(precision = 10, scale = 2)
        private BigDecimal bigDecimalField;

      자바 기본 타입에 @Column 설정시에는 `nullable = false` 지정하는 것이 좋음

Uploaded by N2T