PK
-
[JPA] PK Mapping개발/Java 2023. 2. 12. 15:39
PK 매핑 @Id 를 통해서 기본키를 매핑한다. 별도의 추가 어노테이션이 없다면 값을 직접 할당해야한다. @GeneratedValue 를 통해서 값을 자동으로 할당해줄 수 있다. 이 어노테이션에서 속성 값으로 strategy 를 설정해줄 수 있다. IDENTITY 전략 GenerationType.IDENTITY 의 경우 DB에 생성을 위임한다. DB INSERT 시점에서 값을 설정한다. 즉, DB에 트랜잭션이 반영된 후에 ID 값을 알 수 있다. 하지만 영속성 컨텍스트에서 이를 관리하기 위해서는 PK 값이 존재해야 한다. 따라서, commit 시점이 아닌 persist 시점에 쿼리를 전달한다. JDBC 내부적으로 INSERT 시점에 반환 값을 확인할 수 있어 SELECT 쿼리가 발생하지는 않는다. CRE..