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 |