전자정부프레임워크에서 트랜젝션을 제가 원하는데로 컨트롤 할 수 있나요?
- 작성자 :
- 반*덕
- 작성일 :
- 2016-09-05 14:20:16
- 조회수 :
- 3,144
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
예를들어 insert를 한번하고 insert가 성공하면 select해서 데이터를 받아온 다음에 다시 update를 하고 싶다 하는 경우에
insert는 성공했는데 update가 실패하면 insert한 부분을 롤백해야 하는 경우에는 어떻게 처리해야 하나요?
service 단에서 구현하면 된다고 알고는 있는데 단순하게 service단에서 코딩해놓으면 알아서 롤백이 되는 것인지
아니면 뭔가 특별한 명령어를 넣어야 하는 것인지 궁금합니다.
(예를들면 자바코딩시에 db연결해서 커밋이나 롤백을 컨트롤 하듯이 그렇게 하면 되는것인지 아니면 다른 방법이 있는 것인지 궁금합니다.)
insert는 성공했는데 update가 실패하면 insert한 부분을 롤백해야 하는 경우에는 어떻게 처리해야 하나요?
service 단에서 구현하면 된다고 알고는 있는데 단순하게 service단에서 코딩해놓으면 알아서 롤백이 되는 것인지
아니면 뭔가 특별한 명령어를 넣어야 하는 것인지 궁금합니다.
(예를들면 자바코딩시에 db연결해서 커밋이나 롤백을 컨트롤 하듯이 그렇게 하면 되는것인지 아니면 다른 방법이 있는 것인지 궁금합니다.)
A
안녕하세요. 표준프레임워크 센터입니다.
우선 트랜잭션의 설정하는 방법에 따라 내용이 다릅니다.
설정하는 방법은 크게 두가지로 나눠지는데, 선언적으로 트랜잭션 방법과 프로그램에서 직접 처리하는 방법입니다.
선언적 트랜잭션으로 어노테이션(@Transactional)을 이용하거나 xml(<tx:advice>) 설정을 이용한 방식으로, 문의주신대로
코드에서 직접 트랜잭션 처리하지 않고 설정된 선언에 따라 전체 서비스의 트랜잭션 관리가 가능합니다.(커밋, 롤백 등)
그리고 프로그램에서 직접처리하는 방법의 경우 기존방법처럼 프로그램에서 직접 커밋과 롤백을 컨트롤 하는 방식입니다.
세부적인 내용은 하단에 링크를 남기니 참조하시기 바랍니다.
ref1)선언적 트랜잭션
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:psl:transaction:declarative_transaction_management
ref2) 프로그램에서 직접처리
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:psl:transaction:programmatic_transaction_management
ref3) 외부링크
http://isstory83.tistory.com/114
http://isstory83.tistory.com/115
감사합니다.
우선 트랜잭션의 설정하는 방법에 따라 내용이 다릅니다.
설정하는 방법은 크게 두가지로 나눠지는데, 선언적으로 트랜잭션 방법과 프로그램에서 직접 처리하는 방법입니다.
선언적 트랜잭션으로 어노테이션(@Transactional)을 이용하거나 xml(<tx:advice>) 설정을 이용한 방식으로, 문의주신대로
코드에서 직접 트랜잭션 처리하지 않고 설정된 선언에 따라 전체 서비스의 트랜잭션 관리가 가능합니다.(커밋, 롤백 등)
그리고 프로그램에서 직접처리하는 방법의 경우 기존방법처럼 프로그램에서 직접 커밋과 롤백을 컨트롤 하는 방식입니다.
세부적인 내용은 하단에 링크를 남기니 참조하시기 바랍니다.
ref1)선언적 트랜잭션
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:psl:transaction:declarative_transaction_management
ref2) 프로그램에서 직접처리
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:psl:transaction:programmatic_transaction_management
ref3) 외부링크
http://isstory83.tistory.com/114
http://isstory83.tistory.com/115
감사합니다.