
·개인공부
나는 데이터를 저장 및 업데이트할 때, 각각의 메서드로 분리하여, JPA save() 메서드를 사용하였다. 그러다 어느날 다음과 같은 코드로직을 보게되었다. 1. findById 를 통해 AEntity를 조회, a변수 할당 2. 새로운 b변수에 a변수의 정보를 참조하여, new AEntity를 생성 3. b변수save() 나는 이 코드로직을 보고선, "AEntity 를 새로 생성하는구나" 라는 생각을 했다. 하지만 Hibernate 로그를 보았을 때는 "Insert가 아닌 Update 쿼리가 발생"하였다. 나는 의문이었다. "새로운 b변수에 new AEntity 를 생성했는데 어떻게 PK 중복 에러 없이, 업데이트가 발생했는가?" 궁금했다. 문제의 원인 이 답은, 김영한님의 자바 ORM 표준 JPA 프로..