inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 DB 2편 - 데이터 접근 활용 기술

트랜잭션 AOP 주의 사항 - 프록시 내부 호출2

프록시 내부 호출 문제

455

조우현

작성한 질문수 12

2

프록시 내부 호출 강의를 들으면서 "그러면 클래스단에 @Transactional을 사용해서 모든 메서드에 트랜잭션을 적용하면 애초에 이런 문제가 발생 안하지 않나?" 라는 생각이 들었습니다.

혹시 이런 방법은 좋지 않은 방법인가요?

spring

답변 1

2

y2gcoder

안녕하세요, 조우현 님. 공식 서포터즈 y2gcoder 입니다.

@Transactional은 기본적으로 트랜잭션이 필요한 곳에만 사용하는 것이 좋습니다. 예를 들어 AService의 methodA()는 DB에서 어떤 데이터를 불러와야 하는 로직이 포함되어 있고, methodB()는 그냥 비즈니스적인 계산 로직이 들어가 있고 Repository 레이어에 접근하지 않을 수 있습니다. 이 때 클래스에 @Transactional을 걸어주면 methodB() 호출할 때마다 불필요한 트랜잭션이 열리게 됩니다:)

감사합니다.

설정 정보 없이 임베디드 데이터베이스 생성

0

20

1

RepositoryTest의 패키지 위치가 domain인 이유

0

39

2

REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!

0

32

1

update()에 사용하는 setter 질문드립니다.

0

49

1

SQL 중심적 개발의 문제점에 대한 질문

0

79

1

혹시 Containing 을 안쓰신 이유가 있을까요?

0

89

2

[공유] 스프링부트 4.x 버전 mybatis 연동

0

185

1

@repository 어노테이션

0

94

3

ItemService

0

59

1

논리 커밋, 물리 커밋 질문드립니다.

0

54

1

내부 트랜잭션 커밋은 필수인가요?

0

57

1

프록시 커넥션 객체를 반환할 때 생성하는건가요?

0

56

1

Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)

2

180

2

JPQL 대신 네이티브 쿼리를 사용해야 하는 경우

0

81

1

@EventListener(ApplicationReadyEvent.class) 관련

0

91

1

트랜잭션 동기화 매니저와 데이터 소스

0

77

1

DB 관련 강의 개설 계획은 없으신건가요?

0

134

2

물리 트랜잭션 과 논리트랜잭션 용어를 맞게 이해한걸까요

0

96

1

스프링 3 버전 이상 rollbackFor 변경된듯요

1

115

1

트랜잭션 전파 질문.

0

87

1

프로젝트 오픈 에러

0

126

1

외부 트랜잭션에서 isNewTransaction이 false로 나오는거에 대해 질문드립니다

0

84

2

같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환

0

74

1

h2 인메모리 테스트중 예약어 충돌날 경우 대처방법

0

105

1