티스토리 뷰

DataAccessException과 예외 추상화

댜앙한 데이터 엑세스 기술: JDBC, JDO, JPA, TopLink, ORM, iBatis 등

DAO를 따로 만드는 이유는 데이터 엑세스 로직을 담은 코드를 성격이 다른 코드에서 분리해놓기 위해서다. 또한 전략 패턴을 적용해 구현 방법을 변경해서 사용할 수 있게 만들기 위해서이기도 하다. 그러나 클라이언트 입장에서는 DAO가 사용한 데이터 엑세스 기술에 따라 예외 처리 방법이 달라져야 한다.

이 문제를 해결하기 위해 스프링은 DataAccessException 계층구조를 만들었다. DataAccessException은 자바의 주요 데이터 엑세스 기술에서 발생할 수 있는 대부분의 예외를 추상화하고 있다. 

댓글