반응형
토비의 스프링 3장. 예외 챕터를 보면 DB 벤더마다 SQL 에러코드가 다르고, 관리하기 어려워 스프링은 자바에서 다루는 SQLException을 변환하여 DataAccessException을 사용하도록 한다.
DB 벤더마다 에러코드를 매핑 값은 sql-error-codes.xml 이다.
업무 중 SQLException을 직접 Spring 예외로 변환해야 하는 기능이 필요하여 찾아보니 아래와 같이 작성하면 된다.
SQLErrorCodeSQLExceptionTranslator sqlTranslator = new SQLErrorCodeSQLExceptionTranslator();
DataAccessException ex = sqlTranslator.translate(null, null, sqlException);
SQLErrorCodeSQLExceptionTranslator.translate() 메서드에서 마지막 인자로 전달하는 SQLException 객체에는 SQLState 값이 채워져 있어야지 변환할 수 있다.
반응형
'Spring' 카테고리의 다른 글
[Spring] @ResponseBody는 @RestController으로 대체 가능 (0) | 2022.08.16 |
---|