dirty checking
-
[Spring boot] JPA save() & Dirty Checking프로젝트/아카이뷰 2024. 1. 19. 08:52
JPA 메소드인 SAVE() 왜 궁금했을까❓JPA의 save()를 이용하여 객체를 데이터베이스에 저장하곤 했는데 Dirty Checking을 통해 저장하는 방식이 존재한다는 것을 알고 그 원리가 궁금해서 save()와 함께 학습해보려고 한다. SAVE() 동작 원리JPA에서 save()를 사용할 때, Spring Data JPA에서 제공하는 JpaRepository.save(T)를 사용하게 된다. 해당 메소드 코드를 보며 분석하고 그 원리를 학습하고자 한다.isNew() 메소드는 Entity가 새로운 것인지 아닌지 판단하는 메소드이다.일반적으로는 Entity ID의 null 여부에 따라 결정된다.Entity에 @Id와 @GeneratedValue를 사용할 경우 ID는 persist()를 호출한 이후에 I..