BackEnd/Spring Boot

JPA GenerationType 속성

Raconer 2023. 6. 9. 22:32
728x90

작성 계기

JPA를 공부 하면서 코드를 작성하던중 GenerationType.AUTO를 사용 하였습니다.
뭔가 auto_increments 가 적용 될거 같아서 사용하였지만 DB에 "hibernate_sequence" 테이블이 생성 되었습니다.
(Mysql을 사용 하였습니다.)
그래서 뭐지 하다가 GenerationType 속성에 대해서 알아 보게 되었고 간단 하게 나마 정리 한 내용을 작성 하게 되었습니다.

GenerationType이란?

GenerationType은 JPA에서 엔티티의 주키(primary key)를 생성하는 방법을 지정하는 열거형(Enum)입니다.

  • AUTO
    • DB 에 따라 설정 변경됩니다.
    • 예를 들면 MysqlAUTO_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