내 응용 프로그램스프링 데이터 JPA는
컨트롤러의 흐름입니다 @Transactional 매니저.
나는 jpa:repositories
에 지정된 txn 관리자가 고려되며 서비스 계층에서 @Transactional
을 지정하는 데 영향이 없다고 생각됩니다. 예 : 서비스 계층 @Transactional
을 사용자 지정 txn 관리자에 매핑 할 수 있습니다. 여기서 서비스가 호출하는 리포지토리에 다른 txn 관리자가있을 수 있습니다. 이 경우 문제가되지 않습니까?
누가 우리가 jpa 저장소를 사용할 때 @Transactional
을 서비스 계층에 넣어야하는지 명확히 할 수 있습니까? 봄 데이터 참조의
트랜잭션은 DAO 계층에서 구분되어서는 안됩니다. 단일 작업 단위는 일반적으로 여러 DAO를 사용하고 단일 트랜잭션 서비스 방법으로 조정됩니다. 왜 오직 하나만 원하기 때문에 두 개의 다른 트랜잭션 관리자를 정의하겠습니까? –
예 ... 여러 개의 데이터베이스 호출을 할 때 하나의 트랜잭션이 여러 개가 아니기를 원합니다. 따라서 서비스 수준에서 시작된 트랜잭션이 필요합니다. –
동의 함. 현재 구현에는 디자인 문제가 있습니다. 이 서비스는 두 개의 서로 다른 스키마 (이것은 JTA가 아니라 순수한 선택 쿼리)에 연결하는 재개발을 호출합니다. 이것이 jpa 저장소가 다른 엔티티 관리자 팩토리 및 다른 txn 관리자로 구성되는 이유입니다. – lives