identity1 [JPA] @Id, @GenerateValue 의 전략 보통 AUTO 로 설정하는데, 공부도 할겸 정리해본다. GenerateValue의 전략은 3가지가 있다. 1. IDENTITY 2. SEQUENCE 3. TABLE 1. IDENTITY 기본키를 생성하는 작업을 전적으로 데이터베이스에 위임하는 것이다. 즉 데이터베이스와 동일시 하는 것. 이러한 특징때문에 persist 명령후에 엔티티의 pk를 바로 알수가 없다. 왜냐하면 데이터베이스에 한번 갔다 와야 pk를 알 수 있기 때문이다. 그래서 persist를 하면 바로 insert쿼리가 전송된다. 원래는 flush작업으로 그동안 쌓여있던 sql 쿼리들이 전송되면서 동기화가 된다. IDENTITY전략에서만 유일하게 persist 작업과 동시에 쿼리를 날린다. 2. SEQUENCE persist 하면 데이터베이스.. 2020. 8. 6. 이전 1 다음