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

최하준님의 프로필 이미지
최하준

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회원 서비스 개발

@Transactional 우선권 질문입니다.

해결된 질문

작성

·

568

1

join 메소드에 @Transactional 어노테이션을 붙였을 때, 우선권이라는 말이 살짝 이해가 안되서 질문드립니다.

우선권이라는게 join메소드가 제일 위에 있어서 하시는 말씀이신가요?? 제가 회사 프로젝트에서 @Transactional을 사용했을 때 예제처럼 class에 @Transactional(readOnly = true) 를 사용했는데 쓰기 기능을 하는 메소드에 @Transactional을 붙이니깐 readOnly false 붙여라? 라는 에러같은게 떴었던 것 같아서.... 질문 올립니다~_~;

답변 5

1

최하준님의 프로필 이미지
최하준
질문자

와.... 친절한 답변 너무 감사합니다.

저는 당연히 클래스 레벨이 우선이 되는거라고 생각했는데... 이 부분에 대해 다시 한번 찾아봐야겠네요!

너무너무 감사합니다 ( _ _)

0

김영한님의 프로필 이미지
김영한
지식공유자

하준님 스프링에서는 항상 더 구체적인 것이 우선권을 가진다고 생각하시면 됩니다^^

0

김영한님의 프로필 이미지
김영한
지식공유자

아하 이해했습니다^^

클래스 레벨에 @Transactional이나 @Transactional(readOnly=true)를 적으면 모든 메서드에 다 적용됩니다.

그런데 특정 메서드만 다르게 적용하고 싶으면 해당 메서드 위에 @Transactional이나 @Transactional(readOnly=true)를 적으시면 됩니다.

클래스 레벨보다는 특정 메서드 레벨에 적어둔 것이 우선권을 가지고 적용되고, 해당 메서드는 클래스 레벨의 적용이 무시됩니다.

감사합니다.

0

최하준님의 프로필 이미지
최하준
질문자

회원서비스개발에서 8:50 에서 말씀하시네용!

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 최하준님

제가 어떤 문맥에서 이 이야기를 했는지 정확히 이해가 안되어서 그러는데요.

강의에서 몇분, 몇초에 해당 이야기가 나오는지 알려주시겠어요?

최하준님의 프로필 이미지
최하준

작성한 질문수

질문하기