로딩
요청 처리 중입니다...

Update 로직 수정(JPQL to JPA Dirty Checking)

 Update 로직 수정(JPQL to JPA Dirty Checking)

회원 정보 수정 로직을 구현할 때 @Modifying 어노테이션을 활용하여 Update 쿼리를 직접 작성하여 수정하도록 Repository에서 코드를 구현했었습니다.(이렇게 개발한 이유는 Setter를 지양하기 위해 JPQL을 활용했던 부분이 가장 컸습니다.)

그러나 코드리뷰 과정에서 다음과 같은 이유로 JPA Dirty Checking 방식으로 코드를 구현하기로 하였습니다: JPA를 사용할 때 더티 체킹(Dirty Checking)을 활용하는 것은 매우 JPA스러운 접근 방식입니다. 더티 체킹은 엔터티의 상태가 변경될 때 이를 자동으로 감지하고 변경 사항을 데이터베이스에 반영하는 JPA의 핵심 기능 중 하나입니다.

이 과정은 트랜잭션이 커밋되는 시점에 실행되며, 변경된 엔터티의 스냅샷과 원본 엔터티를 비교하여 자동으로 UPDATE 쿼리를 생성하고 실행합니다. 더티 체킹을 이용하면, 개발자는 엔터티의 상태를 직접 관리하고 적절한 시점에 데이터베이스에 반영할 쿼리를 작성할 필요가 없습...