강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

서꾸리님의 프로필 이미지
서꾸리

작성한 질문수

실전! 스프링 데이터 JPA

순수 JPA 기반 리포지토리 만들기

업데이트 질문입니다.

작성

·

261

1

안녕하세요

마지막부분에 basicCRUD 테스트 함수에서요

member1을 save하고 findById로 findMember1을 가져온 뒤 findMember1.setUsername("member!!!") 로 업데이트하고 있는데요

변경감지 기능을 사용할 때, 트랜잭션 안에서 엔티티를 조회하고, 변경할 값을 set 해주면 트랜잭션 커밋 시점에 변경 감지가 동작해서 update 쿼리가 나간다고 배웠습니다.

그래서 예상하기로

update member set username='member!!!!!' where member_id = 1;

이렇게 쿼리가 나갈거라고 생각했는데

update member set age=0, team_id = NULL, username='member!!!!!' where member_id = 1;

이렇게 쿼리가 나가는 걸로 보여서요.

해당하는 컬럼만 업데이트 되는게 아니라 전체 칼럼이 업데이트 되는건가요?

전체 칼럼 업데이트 merge, 해당 칼럼 업데이트는 변경감지. 이렇게 배운거 같아서요

 

퀴즈

순수 JPA 리포지토리 구현과 비교했을 때, Spring Data JPA 사용의 주요 장점은 무엇일까요?

복잡한 SQL 쿼리를 직접 작성할 필요가 전혀 없습니다.

기본적인 CRUD 작업을 위한 구현 코드를 직접 작성할 필요가 없습니다.

트랜잭션 관리를 수동으로 처리하여 더 세밀한 제어가 가능합니다.

엔티티의 변경 감지(Dirty Checking) 기능이 새롭게 추가됩니다.

답변 1

0

https://small-stap.tistory.com/74

 

참고해보세요~~

서꾸리님의 프로필 이미지
서꾸리

작성한 질문수

질문하기