mybatis 여러개트랜잭션
- 작성자 :
- 이*석
- 작성일 :
- 2015-04-11 00:31:03
- 조회수 :
- 1,014
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
File - New - eGovFrame Common Component 로 게시판 만들고 update test 해보았습니다.
public void updateTemplateInf(TemplateInf tmplatInf) throws Exception {
tmplatDAO.updateTemplateInf(tmplatInf); // 정상쿼리
tmplatDAO.updateTemplateInfErr(tmplatInf); // 에러유발
}
EgovTemplateManageServiceImpl 클래스 updateTemplateInf 메서드에서
첫번째는 정상쿼리, 두번째는 에러 쿼리가 되었을 때에는
첫번째 쿼리가 rollback 되어서 테이블 데이터가 수정 되지 않는게 맞습니다.
mybatis 에서는 안되더군요.
ex-dataaccess-mybatis.zip 받아서 테스트 하였습니다.
EgovAbstractMapper 상속 받는 방법으로 테스트 해보았습니다.
mybatis 샘플 소스에서
EmpServiceImpl 클래스의 updateEmp 메서드에서
public void updateEmp(EmpVO empVO) throws Exception {
empMapper.updateEmp(empVO); // 정상쿼리
empMapper.updateEmpErr(empVO); // 에러유발
}
형태로 데이터를 수정 해보니 데이터는 수정 되고 에러도 나왔습니다.
mybatis 에서도 첫번째 수정 쿼리 데이터가 rollback 되게 할 수 있을까요?
public void updateTemplateInf(TemplateInf tmplatInf) throws Exception {
tmplatDAO.updateTemplateInf(tmplatInf); // 정상쿼리
tmplatDAO.updateTemplateInfErr(tmplatInf); // 에러유발
}
EgovTemplateManageServiceImpl 클래스 updateTemplateInf 메서드에서
첫번째는 정상쿼리, 두번째는 에러 쿼리가 되었을 때에는
첫번째 쿼리가 rollback 되어서 테이블 데이터가 수정 되지 않는게 맞습니다.
mybatis 에서는 안되더군요.
ex-dataaccess-mybatis.zip 받아서 테스트 하였습니다.
EgovAbstractMapper 상속 받는 방법으로 테스트 해보았습니다.
mybatis 샘플 소스에서
EmpServiceImpl 클래스의 updateEmp 메서드에서
public void updateEmp(EmpVO empVO) throws Exception {
empMapper.updateEmp(empVO); // 정상쿼리
empMapper.updateEmpErr(empVO); // 에러유발
}
형태로 데이터를 수정 해보니 데이터는 수정 되고 에러도 나왔습니다.
mybatis 에서도 첫번째 수정 쿼리 데이터가 rollback 되게 할 수 있을까요?
A
안녕하세요.
Transaction 적용을 위해서는 설정이 필요합니다.
실행환경 가이드를 참조하셔서 설정하시면 됩니다.
Declarative Transactio으로 적용해주시면 됩니다.
@Transactional 활용하시면 됩니다.
실행환경 가이드는 다음과 같습니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:transaction
감사합니다.
Transaction 적용을 위해서는 설정이 필요합니다.
실행환경 가이드를 참조하셔서 설정하시면 됩니다.
Declarative Transactio으로 적용해주시면 됩니다.
@Transactional 활용하시면 됩니다.
실행환경 가이드는 다음과 같습니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:transaction
감사합니다.