티스토리 뷰
1. 직접 할당 : 기본 키를 애플리케이션에서 직접 할당
2. 자동 생성 : 대리 키 사용 방식
- IDENTITY : 기본 키 생성을 데이터베이스에 위임(MySQL). 먼저 엔티티를 DB에 저장한 후에 식별자를 조회해서 엔티티의 식별자에 할당.
- SEQUENCE : 데이터베이스 시퀀스를 사용해서 기본 키 할당(오라클). persist() 호출시 먼저 DB 시퀀스를 사용해서 식별자를 조회. 그리고 조회한 식별자를 엔티티에 할당 후 엔티티를 영속성 컨텍스트에 저장)
-> IDENTITY나 SEQUENCE전략은 사용하는 데이터베이스에 의존
- TABLE : 키 생성 테이블을 사용 -> 모든 데이터베이스에서 사용 가능
키 생성 전략을 사용하려면 persistence.xml에
hibernate.id.new_generator_mappings=true
위와 같은 속성을 추가해야 한다.(기본값은 JPA 과거버전과의 호환성을 위해 false)
출처 : 자바 ORM 표준 JPA 프로그래밍(P.131)
300x250
'공부흔적 > JPA' 카테고리의 다른 글
JPA 간단 정리 (0) | 2023.01.03 |
---|---|
Gradle 프로젝트 JPA Oracle 연결하기 (0) | 2021.04.25 |
영속성 컨텍스트 초기화(clear)와 종료(close), 비영속과 준영속 (0) | 2021.04.06 |
SQL Mapper와 ORM(Object-Relational Mapper) (0) | 2021.04.02 |