본문 바로가기
Spring

[JPA] @Column

by diaryDev 2024. 12. 2.
728x90

@Column

객체 필드를 테이블의 컬럼에 매칭시켜주는 어노테이션

 

속성

속성 기능 기본값
name 필드와 매핑할 테이블의 컬럼 이름 객체의 필드 이름
insertable Entity 저장 시 이 필드도 같이 저장
false 설정시 이 필드는 DB에 저장X
읽기 전용일 때는 false 사용
true
updatetable Entity 수정 시 이 필드도 같이 수정
false 설정 시 DB에 수정X
읽기 전용일 때는 false 사용
true
table 하나의 Entity를 두 개 이상의 테이블에 매핑할 때 사용(@SecondaryTable 사용)
지정한 필드를 다른 테이블에 매핑할 수 있다.
현재 클래스가 매핑된 테이블
nullable
(DDL)
DDL 생성 시 null 값의 허용 여부 설정
false 설정 시 not null 제약 조건이 붙는다.
true
unique
(DDL)
@Table의 uniqueConstraints와 같으나 한 컬럼에 간단히 유니크 제약조건을 걸 때 사용 false
columnDefinition
(DDL)
DB 컬럼 정보를 직접 줄 수 있다. 자바 필드의 타입과 DB방언 설정 정보를 사용해 적절히 생성
length
(DDL)
문자 길이 제약 조건
String 타입에만 사용
255
precision
scale
(DDL)
BigDecimal 타입(혹은 BigInteger)에서 사용
precision : 소수점을 포함한 전체 자리수
scale : 소수의 자리수
precision =0
scale = 0

 

참고

nullable의 경우 Java의 기본 타입(int, long, ...)은 null 값 입력이 불가능 하므로 false를 통해 DB 컬럼에 not null 제약 조건을 지정해 두는 것이 안전하다.

 

 

 


 

 

참고

https://ttl-blog.tistory.com/114

https://velog.io/@gillog/JPA-Column-Annotation

 

 

728x90

'Spring' 카테고리의 다른 글

[JPA] @Table  (0) 2024.12.06
[JPA] @Entity  (0) 2024.12.04
[Spring] @PathVariable  (0) 2024.09.23
[Spring] @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor  (0) 2024.09.20
[Spring] @RequestMapping  (0) 2024.09.18