mybatis에서 oracle procedure의 exception 처리 문의
- 작성자 :
- 최*
- 작성일 :
- 2014-05-29 09:27:00
- 조회수 :
- 1,159
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
mybatis의 mapper interface를 사용하고 있습니다.
procedere를 call하고 procedure안에서 exception이 발생하는 경우 sqlException에서 잡지 못하네요.
첨부한 파일을 보시면 sqlException 이후에 또다른 Exception이 발생하면서
catch에 사용한 sqlException에서 처리하지를 못하는 상황이 발생합니다. sqlException쪽에서 처리할수있는 방법이 있을까요?
procedere를 call하고 procedure안에서 exception이 발생하는 경우 sqlException에서 잡지 못하네요.
첨부한 파일을 보시면 sqlException 이후에 또다른 Exception이 발생하면서
catch에 사용한 sqlException에서 처리하지를 못하는 상황이 발생합니다. sqlException쪽에서 처리할수있는 방법이 있을까요?
A
안녕하세요. 최현님.
Spring에서는 DAO 처리 시에 발생되는 SQLException을 org.springframework.dao.DataAccessException 또는 이 Exception의 하위 Exception으로 변환하여 처리하도록 되어 있습니다.
이유는 DBMS에 종속적인 SQLException을 다양한 DBMS 및 Storage와 독립적으로 처리하기 위해서입니다.
즉, DBMS 처리 시에 발생되는 Exception을 catch 하고자 하시면 DataAccessException 또는 그 하위 Exception을 지정하시면 됩니다.
(실제로 발생된 org.mybatis.spring.MyBatisSystemException도 MyBatis-Spring에서 정의한 DataAccessException의 하위 Exception임)
그럼, 즐거운 하루되십시오.
감사합니다.
Spring에서는 DAO 처리 시에 발생되는 SQLException을 org.springframework.dao.DataAccessException 또는 이 Exception의 하위 Exception으로 변환하여 처리하도록 되어 있습니다.
이유는 DBMS에 종속적인 SQLException을 다양한 DBMS 및 Storage와 독립적으로 처리하기 위해서입니다.
즉, DBMS 처리 시에 발생되는 Exception을 catch 하고자 하시면 DataAccessException 또는 그 하위 Exception을 지정하시면 됩니다.
(실제로 발생된 org.mybatis.spring.MyBatisSystemException도 MyBatis-Spring에서 정의한 DataAccessException의 하위 Exception임)
그럼, 즐거운 하루되십시오.
감사합니다.