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

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

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

Ответ 1

Persistence Exception Translation - это процесс преобразования исключений сохраняемости на низком уровне в исключения Spring на уровне.

С сайта SpringSource:

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

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

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

Ответ 2

Механизм трансляции исключений Spring может быть прозрачно применен ко всем beans, аннотированным с помощью @Repository, путем определения преобразования post bean post processor bean в контекст