spring
JPA에서 @Modifying의 clearAutomatically가 왜 필요한가?
일반적으로 복잡한 로직을 작성할 때 @Transactional 안에서 여러 개의 로직을 구현하는 경우가 많이 있다. Spring Data Jpa를 사용하여 해당 메소드 내에서 find, modify를 사용하는 경우 기본적으로 영속성 컨텍스트에서 관리를 해주는데 JPQL로 작성된 SQL이 있는 경우 쿼리 결과가 영속성 컨텍스트에 갱신되지 않아서 실제 DB와 메모리 상의 값이 다른 경우가 있다. 이런 케이스에 대해 예제를 만들어보고 어떻게 처리할 수 있는지 알아보자. 시나리오 사용자 등록 특정 서비스 메소드를 작성하고 사용자의 이름을 변경 해당 서비스 메소드 내에서 사용자 이름을 조회해보자. JpaRepository의 save 이용시 소스 코드 @Transactional public void modify(U..
2023. 9. 5. 15:13