@Column
이 글에서는 @Entity를 구성하는데 필수적인 @Column Annotation에 대해서 알아보겠다.
@Column Annotation은 JPA 에서 Entity 클래스의 필드와 데이터베이스 테이블의 컬럼 간의 매핑을 정의할때 사용한다. 주요한 기능은 필드의 다양한 속성을 지정하는 것이다.
@Column Annotation의 주요 속성을 살펴보자.
속성 | 기능 |
---|---|
name | 컬럼명 설정 |
length | 데이터 Max 길이 설정 |
nullable | null값 가능 여부 설정 |
precision | 숫자 타입에서 전체 자리수를 지정 |
scale | 숫자 타입 필드에서 소수부 자리수를 지정 |
columnDefinition | 컬럼 타입 지정 |
unique | 해당 컬럼의 값이 유일해야 하는지 여부를 지정 |
insertable | 이 필드가 INSERT 쿼리에 포함될지 여부를 지정 |
updatable | 이 필드가 UPDATE 쿼리에 포함될지 여부를 지정 |
아래 소스코드는 Entity의 필드를 선언하는 몇가지 예시이다.
// Float 타입의 최대 길이와 소수부 자리수를 지정
@Column(name = "AVG_CPU_USE_RATE", precision = 5, scale = 2)
private Float averageCpuUseRate;
// max 길이만 설정
@Column(name = "TASK_ORD_DT", length = 6, nullable = false)
private DateTime orderDateTime;
//Lob 타입 지정
@Lob
@Column(name = "QUE_DATA", columnDefinition = "CLOB")
private String queueData;
댓글남기기