1

データベースにいくつかのキーワードを挿入するために使用されるWebサービスをマッピングするエンドポイントがあります。

@Transactional(readOnly = false,isolation= Isolation.SERIALIZABLE)
public Source saveKW(...).

入力はリクエストです。

パラメータを検証するために、メソッドにインターセプターを追加したいと思います。これはDBからいくつかの値を読み取ります。

このインターセプターが、エンドポイントに対して宣言されたトランザクションに埋め込まれていることを望みます (またはこの反対)。言い換えれば、私はそれらが同じトランザクションにあることを望んでいます。

理想的には、注釈付きで次のようなものを探しています:

@Transactional(readOnly = false,isolation= Isolation.SERIALIZABLE)
@validator("KeyWordValidaor.class")
public Source saveKW(...)

KeyWordValidaorパラメータを検証するクラスはどこになります。

このように、または他の実際の方法でこれを実装するためのアイデアや短い例はありますか?

4

1 に答える 1

1

たとえば、制約をテストするためにデータベースにクエリを実行しているため、検証はトランザクション内にある必要があります。私はすでに私の解決策を見つけました。私はSpring aopを使用しており、マップを介してSpringコンテキストから適切なバリデーターを動的にロードしています。(autorwired unknown Bean nameの非常に未知の機能です!)。order 属性のおかげで、それはトランザクション内にあります。

于 2010-05-15T22:13:27.920 に答える