[SPRING] 스프링 데이터 jpa @transactional
SPRING스프링 데이터 jpa @transactional
아래는 내 응용 프로그램의 흐름입니다.
컨트롤러 - 서비스 - 저장소
서비스 계층에는 @Transactional 어노테이션이 있습니다. 엔티티 관리자와 txn 관리자를 지정하는 저장소 구성도 있습니다.
의심 스럽지만 jpa : repositories에 지정된 txn 관리자가 고려되며 서비스 계층에서 @Transactional을 지정하는 데 영향을 미치지 않습니다. 예 : 서비스 계층 @Transactional은 사용자 지정 txn 관리자에 매핑 될 수 있습니다. 여기서 서비스가 호출하는 리포지토리에는 다른 txn 관리자가있을 수 있습니다. 이 경우 문제가되지 않습니까?
누가 우리가 jpa 저장소를 사용할 때 서비스 계층에 @Transactional을 넣어야하는지 명확히 할 수 있습니까?
해결법
-
==============================
1.Spring Data Reference의 2.3 절 참조 :
Spring Data Reference의 2.3 절 참조 :
http://docs.spring.io/spring-data/jpa/docs/1.0.0.M1/reference/html/#transactions
저장소의 CRUD 메소드는 기본적으로 트랜잭션입니다. 이러한 트랜잭션은 필요에 따라 구성 할 수 있지만 위의 설명에서 제안한대로 일반적으로 트랜잭션은 서비스 계층과 그 경우에 지정해야합니다.
따라서, 귀하의 질문에 대한 응답으로, 스프링 데이터 트랜잭션 관리에 관계없이 트랜잭션을 서비스 레벨에서 지정할 수 있습니다.
from https://stackoverflow.com/questions/19716673/spring-data-jpa-transactional by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 트랜잭션 주석은 서비스가 조롱되는 것을 방지합니다. (0) | 2019.01.05 |
---|---|
[SPRING] 봄에 jndi에 선언적으로 객체를 바인딩하는 법? (0) | 2019.01.05 |
[SPRING] `springSecurityFilterChain` 빈은 어디에 정의해야합니까? (0) | 2019.01.04 |
[SPRING] Spring의 SecurityContextHolder.getContext (). getAuthentication ()은 RedirectView가 HTTPS / SSL에서 사용 된 후에 null을 반환합니다. (0) | 2019.01.04 |
[SPRING] Spring 데이터 나머지를 사용할 때 모든 ID 노출 (0) | 2019.01.04 |