@Transactional을 붙이는 위치가 궁금합니다. (Service, ServiceImpl..)
회원 정보 수정 API를 구현하며 dirty checking을 이용한 회원 정보 update를 사용했습니다.
service의 update 메소드를 호출하기 전과 후를 controller단에서 로그를 찍어보니 정보가 잘 변경되는데 DB에는 반영이 되지 않아 애를 먹었습니다.
serviceImpl단의 update 메소드에 @Transactional을 붙여서 해결했습니다. 그 전에는 service단의 update 메소드에 @Transactional을 붙였더니 안되더라구요.
service단의 메소드에 붙이는 @Transactional와 serviceImpl단의 메소드에 붙이는 @Transactional이 다른 트랜잭션으로 작동하는건지, 그렇다면 어디에 @Transactional을 붙이는게 맞는건지 궁금합니다.
回答 1
0
스프링 빈으로 어떤게 등록되는지 생각해보시면 될 거 같아요.
인터페이스는 타입을 정의 하는 것이고(DIP, OCP를 위해서..) 실제로 스프링에 등록되는 빈 객체는 구현체인 Impl입니다.
영한님의 스프링 로드맵을 한번 들어보시면 이해가 되실 것 같습니다.
패키지 구분에 대해 궁금한게 있습니다
0
4
1
스프링부트 서버 에러나요
0
17
1
RepositoryTest의 패키지 위치가 domain인 이유
0
30
2
도메인 모델에서 관계와 규칙을 구분하는 방법
0
37
2
16 강의 메세지 retryCount의 의도
0
23
2
JPA Repository 질문이 있습니다!
1
33
2
페이지네이션 처리를 쿼리에서 하는 방식 질문
1
36
1
UserService, CertificationService 책임 분리 기준 질문
0
26
1
실무 조언 관련 질문입니다.
0
41
1
sdk 설정 오류
0
49
2
H2데이터베이스 파일 생성
0
50
2
SpringBoot 4.X에서의 Querydsl 설정
0
84
2
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
30
1
오탈자 - @Transactional
0
55
1
Dto와 Entity 사용 관련 질문
0
31
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
EC2 실습 중 docker-compose / docker ps 실행 시 권한 오류 문의
2
71
1
application.properties 작성 관련 질문
0
44
2
색깔구분
0
44
3
gradlew, java -jar 로 애플리케이션 실행시키기에서
1
49
1
리액트 관련 질문이 있습니다.
0
62
2
강의 관련 외 질문입니다.
0
65
2
update()에 사용하는 setter 질문드립니다.
0
47
1
스프링부트 버전
0
67
2

