inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 데이터 JPA

Web 확장 - 도메인 클래스 컨버터

더티체킹

227

fightnyy

작성한 질문수 21

0

 안녕하세요 학습을 진행하던 중 궁금한 사항이 생겨 질문드립니다. 다름이아니라 더티체킹에 관한것인데요 

 

```java

@Transaction

public User updateAuthority(String userName, UserRole new Role) {
 User user = userRepository.findByUserName(userName);

System.out.println("---변경 감지 시작 ---");

user.setRole(newRole);

System.out.println("---변경 감지 끝---");

return user;

}

아래와 같은 메소드를 실행시켜서 더티체킹이 언제 감지되나 실험해보았는데 보니까 return user를 하고 나서 실행되는거 같더라구요. 혹시 더티체킹이 끝나서 DB에 update 쿼리가 나가는 시점이 정확히 알 수 있을까요? 

수업 너무 감사합니다!

jpa spring-boot JPA java spring

답변 1

0

김영한

안녕하세요. fightnyy님

트랜잭션 커밋 시점에 더티체킹이 실행됩니다.

@Transaction 애노테이션이 있어서 트랜잭션 AOP가 실행됩니다.

따라서 메서드 리턴 시점에 트랜잭션이 커밋됩니다.

감사합니다.

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

77

1

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

109

3

MemberRepository 구현체

0

61

1

pdf 표현 질문드립니다.

0

64

1

로그가 남지 않는 문제.

0

86

1

테스트 라이브러리가 강의는 junit4가 맞나요??

0

73

2

pdf 파일과 차이점이 있는 것같은데 문제 없나요?

0

73

2

@PrePersist, @PreUpdate 호출 시점 질문드립니다.

0

95

2

Sort 인터페이스는 잘 사용 안하나요?

0

52

1

스캔대상 질문드립니다.

0

46

1

하이버네이트6에서의 최적화에 이은 질문

0

88

1

save() vs saveAndFlush DB 통신 횟수

0

55

1

순수 JPA 리포지토리 코드 수정부분

0

87

2

bulk연산 후 flush하는 이유를 모르겠어요

0

153

3

bulk insert 질문입니다.

0

184

2

교만했던 것 같아요.

0

147

1

RESTful 강의는 안하시는 건지 궁금합니다.

0

150

2

동적 테이블에 대한 질문

0

87

1

영속성 전이와 연관관계

0

132

2

강의 10:25 질문

0

75

1

단건 update 질문

0

98

2

엔티티 와 도메인의 경계

0

129

1

UsernameOnlyDto 타입 type mismatch 오류

0

122

1

Projection 개념과 데이터 전달과정에 대해 질문 있습니다.

0

137

1