• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

질문있습니다.

21.07.27 10:35 작성 조회수 96

0

안녕하세요! 

오랜만에 다시 보다가 갑자기 궁금한 부분이 생겨서 질문드립니다!

1. JpaRepository를 이용하면 simpleJpaRepository를  사용하게 되는 것으로 기본적으로 @Transactioanal(readOnly=true)와 @Repository를 달고 있는 것으로 생각하면 될까요? 

2. 저는 서비스 계층에서만 @Transactional을 붙여서 사용하고 있는데 구글링하다보니 Repository 계층에서도 @Transactional을 사용하는 경우가 존재하던데 Repository에서 @Transactional을 사용하는 경우는 어떨 때 사용하는 것인가요? 

답변 1

답변을 작성해보세요.

2

안녕하세요. 준성님

1. JpaRepository를 이용하면 simpleJpaRepository를  사용하게 되는 것으로 기본적으로 @Transactioanal(readOnly=true)와 @Repository를 달고 있는 것으로 생각하면 될까요? 

-> simpleJpaRepository는 조회는 @Transactioanal(readOnly=true), 데이터 변경이 필요한 곳에는 @Transactioanal이 붙어있습니다. 코드를 한번 열어보시면 바로 이해가 되실거에요.

2. 저는 서비스 계층에서만 @Transactional을 붙여서 사용하고 있는데 구글링하다보니 Repository 계층에서도 @Transactional을 사용하는 경우가 존재하던데 Repository에서 @Transactional을 사용하는 경우는 어떨 때 사용하는 것인가요? 

-> JPA의 모든 데이터 변경은 트랜잭션 안에서 이루어져야 합니다. 서비스 없이 컨트롤러에서 바로 리포지토리를 통해서 데이터를 변경할 때 필요합니다.

감사합니다.