JPA 필드와 컬럼 매핑
- JPA 를 이용하면 자바 객체와 DB 테이블간의 매핑을 간단히 설정가능
- 매핑 어노테이션
@Column
- name
- 필드와 매핑할 테이블의 컬럼 이름을 지정
@Column(name = "column_name") private String fieldName;
- insertable
- 엔티티가 저장될 때 해당 필드도 저장할지 여부를 결정
@Column(insertable = false) private String readOnlyField;
- updatable
- 엔티티가 수정될 때 해당 필드도 수정할지 여부를 결정
@Column(updatable = false) private String nonUpdatableField;
- table
- 특정 필드를 다른 테이블과 매핑할때 사용
@Column(table = "another_table") private String fieldInAnotherTable;
- nullable
- 컬럼값 null 허용 여부
@Column(nullable = false) private String nonNullableField;
- unique
- 컬럼에 unique 제약 조건을 설정
@Column(unique = true) private String uniqueField;
- columnDefinition
- 데이터 베이스 컬럼 정보 지정
@Column(columnDefinition = "varchar(100) default 'EMPTY'") private String fieldWithDefinition;
- length
- 문자열 최대 길이 지정
@Column(length = 400) private String longStringField;
- precision , scale
BigDecimal
타입에서 사용- precision
- 소수점을 포함한 전체 자릿수
- scale
- 소수의 자리수를 나타냄
- precision
@Column(precision = 10, scale = 2) private BigDecimal bigDecimalField;
자바 기본 타입에 @Column 설정시에는 `nullable = false` 지정하는 것이 좋음
- name
Uploaded by N2T
'자바 > JPA' 카테고리의 다른 글
[4단원] 기본키 - SEQUENCE 전략 (0) | 2023.11.01 |
---|---|
[4단원] 기본키 - TABLE , AUTOINCREMENT 전략 (0) | 2023.11.01 |
[5단원] 단방향 연관관계 (0) | 2023.11.01 |
[5단원] `@JoinColumn` , `@ManyToOne` (0) | 2023.11.01 |
[5단원] 연관관계의 사용 (0) | 2023.11.01 |