Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 게임
- 잡담
- jQuery
- 아이러브니키
- 아이폰
- 후기
- 모뉴먼트 밸리
- 아이폰게임
- 일상
- 맛집
- 가사
- 강추
- goblin sword
- great forest
- Monument Valley
- 추천
- 공략
- php
- JavaScript
- Monument
- 핑크
- 감상
- 모뉴먼트
- 시사회
- 아이패드
- 유료
- 카이로소프트
- 영화
- Pink
- 레고
Archives
- Today
- Total
잡담소장소
[java] @Transactional 과 custom advisor 사용 시 문제 본문
함수에 @Transactional과 @customadvisor 가 함께 설정되어 있을 경우
아래 이미지와 같은 이유로 transaction이 먼저 호출되어
custom advisor 를 통해 수정된 데이터를 조회하려고 할 때 변경 전 데이터가 조회된다
docs.spring.io/spring-framework/docs/current/reference/html/data-access.html#tx-decl-explained
이 문제를 해결하기 위해서는 두가지의 방법이 있는데
하나는 @Transactional과 @customadvisor 를 분리하는 것이고 다른 하나는 order를 이용하는 것이다.
※ transactional 과 custom advisor 분리
// before
class test {
@customadvisor
@Transactional
function a(){
// 데이터 변경
}
}
// after
class test1 {
@customadvisor
function a(){
aa();
}
}
class test2 {
@Transactional
function aa(){
// 데이터 변경
}
}
※ order 추가
// aspect
@Aspect
@Order(1)
public class testAspect{
...
}
// xml
...
<tx:annotation-driven transaction-manager="txManager" order="10" />
...
// or SpringBoot
@EnableTransactionManagement(order=10)
반응형
'Study ;3' 카테고리의 다른 글
[Python] ModuleNotFoundError 해결 (0) | 2021.07.21 |
---|---|
react + react-router tutorial (0) | 2021.06.02 |
[javascript] bootstrap-table export csv 문제 (0) | 2021.01.13 |
[java] PKIX path building failed (0) | 2020.12.23 |
[javascript] jquery-typeahead 적용기 (0) | 2020.12.02 |
Comments