Это имеет смысл, если вы хотите, чтобы ваша бизнес-логика могла реагировать на определенные типы DataAccessException
, не будучи зависимой от типов Morphia / Mongo.
Самый простой способ сделать это - написать класс, который реализует PersistenceExceptionTranslator
и знает, как преобразовать исключения Morphia / Mongo в DataAccessException
.Объявите этот класс как bean-компонент, и Spring автоматически попросит его перевести исключения, если ваш класс DAO помечен @Repository
.
Однако, если вашей бизнес-логике или логике обработки исключений действительно нет дела который выбрасывает тип исключения, тогда, казалось бы, мало смысла.