강의

멘토링

커뮤니티

Inflearn Community Q&A

youman79539489's profile image
youman79539489

asked

Real-world! Spring Boot and JPA Utilization 1 - Web Application Development

Member Registration

회원가입 할때

Written on

·

287

0

회원가입 할때 memberService.join(member)를 이용해서 db에 회원 정보를 보내잖아요? 근데 코드를 뜯어보면 join안에는 중복회원 검증인 validateDuplicateMember와 실질적으로 영속성 컨텍스트에 올리는 memberRepository.save(member)가 실행되는데 save함수 안에는 em.persist만 있을뿐 em.flush가 없는데 어떻게 insert가 될 수 있는건가요?

javaspring-boot웹앱springJPA

Answer 2

0

안녕하세요. 김태민님, 공식 서포터즈 OMG입니다.

네 맞습니다.

@Transactional 혹은 @Transactional(readOnly = false)를 선언할 경우 해당 클래스나 메서드에 트랜잭션을 적용하며 메서드 종료 할 때 트랜젹선을 커밋합니다. 트랜잭션 커밋으로 인해 flush가 자동으로 실행된 것입니다.

@Transactional(readOnly=true)로 설정 혹은 @Transactional을 제거하고 확인해보셔도 이해하는데에 도움 되리라 생각합니다.

감사합니다.

0

youman79539489님의 프로필 이미지
youman79539489
Questioner

@Transactional 때문인가요?

youman79539489's profile image
youman79539489

asked

Ask a question