20

Springをアノテーション部分で読んでいたところ、永続性例外の変換に適格であるという意味でBeanがBeanとは異なるという@Repositoryアノテーションに出くわしました。
@Repository@Component

誰かが永続性例外の変換の意味を詳しく説明してもらえますか?

4

3 に答える 3

15

永続性例外の変換は、低レベルの永続性例外を高レベルのSpring例外に変換するプロセスです。

SpringSourceサイトから:

一般的なデータアクセスの例外。Springは、選択したO / Rマッピングツールからの例外をラップして、プロプライエタリ(チェックされる可能性がある)例外から一般的なランタイムDataAccessException階層に変換できます。これにより、ボイラープレートのキャッチ/スローや例外宣言を煩わせることなく、適切なレイヤーでのみ回復不可能なほとんどの永続性例外を処理できます。必要な場所であればどこでも例外をトラップして処理できます。JDBC例外(DB固有の方言を含む)も同じ階層に変換されることに注意してください。つまり、一貫性のあるプログラミングモデル内でJDBCを使用して一部の操作を実行できます。

これの主な利点の1つは、例外がランタイム例外に変換されることです。実際には、メソッドのシグネチャにthrows宣言を追加する必要はありません。

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

于 2012-08-30T19:49:26.120 に答える
5

使用しているデータベースの種類や永続性の方法論/テクノロジーに関係なく、一貫した例外階層を提供します。

OracleとMySQL、またはJPAとJDBCのどちらを使用しているかに関係なく、同じタイプのエラーに対して同じ例外が発生します。

SQLErrorCodeSQLExceptionTranslatorsql-error-codes.xmlを見てください。

sql-error-codes.xmlさまざまなベンダー固有のエラーコードと、それらがマップされる階層内の例外をすべて確認できるため、特に興味深いものです。

于 2018-04-25T01:16:05.127 に答える
1

Spring例外変換メカニズムは、コンテキストで例外変換BeanポストプロセッサBeanを定義することにより、@Repositoryで注釈が付けられたすべてのBeanに透過的に適用できます。

于 2017-07-27T13:27:10.227 に答える