타입 애너테이션
- @Entity - JPA에서 엔티티로 관리할 클래스(엔티티명)
- @Table - 매핑 대상 테이블 관련 설정(테이블명, 카탈로그, 스키마, 유니크 키 제약 조건)
- @Acces - DB 접근 방식(AccessType.FIELD, AccessType.PROPERTY)
- 필드 접근은 필드에 직접 접근. private도 접근 가능.
- 프로퍼티 접근은 getter 이용하여 접근.
필드 애너테이션
- @Id - 기본키
- @GeneratedValue - 기본키 생성 전략(IDENTITY, SEQUENCE, TABLE)
- @Column - 칼럼 매핑. 칼럼명과 제약조건들 설정(칼럼명, length, nullable, unique, precision(전체 자릿수), scale(소수 자릿수), columnDefinition, insertable, updateable, table)
- @Temporal - Date 타입 매핑(Temporal.DATE, Temporal.DATETIME, Temporal.TIMESTMAMP)
- 생략 시 MySQL 계열은 datetime으로, 오라클 및 PostgreSQL 등은 timestamp
- @Lob - BLOB(MySQL 계열은 longblob) , CLOB(MySQL 계열은 longtext, PostgreSQL은 oid) 타입 매핑
- @Enumerated - enum 타입 매핑(EnumType.ORDINAL, EnumType.STRING)
- 주로 EnumType.STRING 사용(EnumType.ORDINAL은 변경 어려움)
- @Transient - 매핑 안 함
'☕Java > JPA' 카테고리의 다른 글
Querydsl 주요 내용 정리 (0) | 2024.03.27 |
---|---|
Querydsl 사용을 위한 build.gradle 설정하기 (0) | 2023.05.14 |