반응형

토비의 스프링 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

+ Recent posts