Что такое "перевод исключения персистентности" для бобов @Repository

Я читал Spring с аннотацией, и я наткнулся @Repositoryаннотирование
Я прочитал это @Repository бобы отличаются от @Component бобы в том смысле, что они имеют право на постоянное исключение перевода.

Может кто-нибудь уточнить, что подразумевается под переводом постоянных исключений?

3 ответа

Решение

Перевод исключений постоянства - это процесс преобразования исключений постоянства низкого уровня в исключения высокого уровня Spring.

С сайта SpringSource:

Общие исключения доступа к данным. Spring может обернуть исключения из выбранного вами средства отображения O/R, преобразовав их из проприетарных (потенциально проверенных) исключений в общую иерархию времени выполнения DataAccessException. Это позволяет вам обрабатывать большинство постоянных исключений, которые невозможно восстановить, только на соответствующих слоях, без назойливых сборок / бросков и объявлений об исключениях. Вы все еще можете перехватывать и обрабатывать исключения везде, где вам нужно. Помните, что исключения JDBC (включая определенные диалекты БД) также преобразуются в ту же иерархию, что означает, что вы можете выполнять некоторые операции с JDBC в рамках согласованной модели программирования.

Одним из основных преимуществ этого является то, что исключения превращаются в исключения времени выполнения, по сути, вам не нужно добавлять объявление throws в сигнатуру ваших методов.

http://static.springsource.org/spring/docs/2.5.x/reference/orm.html

Он обеспечивает согласованную иерархию исключений независимо от типа используемой базы данных или методологии / технологии постоянства.

Вы получаете те же исключения для тех же типов ошибок, независимо от того, используете ли вы Oracle против MySQL или JPA против JDBC.

Взгляните на SQLErrorCodeSQLExceptionTranslator и sql-error-codes.xml.

sql-error-codes.xml Это особенно интересно, поскольку вы можете видеть все различные коды ошибок, относящиеся к конкретному поставщику, и какие исключения в иерархии они отображают.

Механизм преобразования исключений Spring может быть применен прозрачно ко всем bean-компонентам, аннотированным @Repository - путем определения bean-компонента bean-объекта обработки исключения в Context.

Другие вопросы по тегам