728x90
작성 계기
JPA를 공부 하면서 코드를 작성하던중 GenerationType.AUTO를 사용 하였습니다.
뭔가 auto_increments 가 적용 될거 같아서 사용하였지만 DB에 "hibernate_sequence" 테이블이 생성 되었습니다.
(Mysql을 사용 하였습니다.)
그래서 뭐지 하다가 GenerationType 속성에 대해서 알아 보게 되었고 간단 하게 나마 정리 한 내용을 작성 하게 되었습니다.
GenerationType이란?
GenerationType은 JPA에서 엔티티의 주키(primary key)를 생성하는 방법을 지정하는 열거형(Enum)입니다.
- AUTO
- DB 에 따라 설정 변경됩니다.
- 예를 들면 Mysql은 AUTO_INCREMENTS, ORACLE : SEQUENCE 등으로 설정 됩니다.
- IDENTITY
- MySQL, SQL Server, PostgreSQL에서 지원 합니다.
- AUTO_INCREMENTS가 적용됩니다.
- SEQUENCE
- Oracle과 같은 데이터베이스에서 지원
- SEQUENCE 가 적용됩니다.
- TABLE
- 별도의 테이블을 사용하여 주키를 생성합니다.
- NONE
- 주키를 자동으로 생성하지 않습니다.
- 개발자가 직접 주키 값을 설정해야 합니다.
728x90
'BackEnd > Spring Boot' 카테고리의 다른 글
JPA @Column 옵션 (0) | 2023.06.10 |
---|---|
JPA 테스트 환경 구축 (0) | 2023.06.10 |
JPA의 ddl-auto 속성과 그 특징 (0) | 2023.06.09 |
JPA 적응기_1 (0) | 2023.05.21 |
JPA란? (0) | 2023.05.21 |