readonly 썸네일형 리스트형 JPA 변경감지(Dirty Checking)과 OSIV JPA를 사용할 때 변경 감지를 주의해야한다. 아무런 생각없이 중간 데이터 전달 경로로 엔티티의 필드를 건드린다면, 실제로 DB에도 변경이 적용되기 때문이다. 또한 주의해야할 점은 OSIV를 활성화 시켰을 경우이다. 다음 예제를 살펴보자. fun test() { val product1 = productItemRepository.findById(1L).orElse(null) product1.amount = product1.amount + 1 // 엔티티 값 변경 // osiv가 활성화되어있다면 여기서 product1은 영속성컨텍스트에 계속 살아있게된다. (영속 상태) // osiv가 반대로 비활성화 되어있다면 여기서 product1은 영속성컨텍스트에 남아있지 않는다. (준영속 detach 상태) dirty.. 더보기 이전 1 다음