4

動的プロキシを使用する場合、基になるオブジェクトの注釈にアクセスするにはどうすればよいですか?

具体的には、ORMオブジェクトの設定に@Column( "client_id")で注釈を付けてから、動的プロキシに注釈付きのセッターがいつ呼び出されたかを追跡させていますが...

アノテーション付きプロキシは、すべての呼び出しでリフレクションを実行するのに、基になるアノテーションのいずれかをそれほど短く保持していないようです。プロキシに、プロキシしているクラスのアノテーションを持たせるにはどうすればよいですか?

ありがとう、アラン

4

1 に答える 1

4

AFAIK、それはあなたのバイトコードインジェクションライブラリに依存します。また、通常、注釈は継承されないことを覚えておいてください (Java 仕様によって課せられます)。元のクラスにアクセスする必要があり、CGLIB を使用している場合は、次のスニペットを使用できます。

 if (Enhancer.isEnhanced(getClass())) {
    currClass = UnEnhancer.unenhance(getClass());
 } else {
    // else, let's get the original class directly
    currClass = getClass();
 }
于 2008-09-28T11:46:41.060 に答える