Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > HibernateException и аннотация @Repository


Автор: eugeneu 10.4.2011, 07:25
Здравствуйте. 
Имеется некоторый класс слоя доступа к данным HibernateEntityDAOImpl.

Код

class HibernateEntityDAOImpl implements EntityDAO{
...
public Entity getById(Long id) throws HibernateException {

}
...
}


А так же есть класс бизнес-слоя EntityService:
Код


class EntityService {

public Entity getById(Long id) {
 
 try {
        entityDAO.getByid(id);

 }catch(HibernateException e) {
   ....
 }

}

}


А вот в чем вопрос:
Как правильней обрабатывать исключения DAO-слоя? Как реализовано в данном примере или же используя тег @Repository над DAO классом, тем самым преобразуя HibernateException в спринговые эксепшены.
Хотелось бы узнать правильный подход в этом деле.
Допустим я заменю HibernateEntityDAO на JDBCEntityDAO - будут генерироваться уже совсем другие эксепшены и мне придется переписывать бизнес слой, чтобы отлавливать именно их но это уже не гибкий подход....
Как все-таки правильно реализовать обработку исключений?





Автор: batigoal 11.4.2011, 08:55
Как вариант - обертывать в свое кастомное исключение DaoException.

Автор: eugeneu 11.4.2011, 10:03
А как вы думаете для чего придумали трансляцию HibernateException в спринговые - может быть это и есть решение?

Автор: batigoal 11.4.2011, 10:17
Цитата(eugeneu @  11.4.2011,  11:03 Найти цитируемый пост)
А как вы думаете для чего придумали трансляцию HibernateException в спринговые - может быть это и есть решение?

Сам не использовал, но судя по джавадоку - похоже. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)