動的プロキシを使用する場合、基になるオブジェクトの注釈にアクセスするにはどうすればよいですか?
-
02-07-2019 - |
質問
動的プロキシを使用する場合、基礎となるオブジェクトの注釈にアクセスするにはどうすればよいですか
具体的には、@ Column(" client_id")を使用してORMオブジェクトの設定に注釈を付け、その後、注釈付きセッターが呼び出されたときを動的プロキシに追跡させますが、...
注釈付きプロキシは、すべての呼び出しでリフレクションを実行するほど短いため、基礎となる注釈を保持していないようですが、プロキシにプロキシのクラスの注釈を持たせるにはどうすればよいですか?
ありがとう、 アラン
解決
わかりました、あなたのバイトコードインジェクションライブラリに依存します。また、通常、注釈は継承されない(Java仕様によって課される)ことを忘れないでください。元のクラスにアクセスし、CGLIBを使用している場合、次のスニペットを使用できます。
if (Enhancer.isEnhanced(getClass())) {
currClass = UnEnhancer.unenhance(getClass());
} else {
// else, let's get the original class directly
currClass = getClass();
}
所属していません StackOverflow