Ao usar dinâmico proxies, como faço para acessar anotações do objeto subjacente?
-
02-07-2019 - |
Pergunta
Quando Usando dinâmico proxies, como faço para acessar anotações do objeto subjacente?
Especificamente eu estou anotando configurações de um objeto ORM com @Column ( "client_id") e, em seguida, fazer uma faixa de manter Proxy dinâmica de quando os setters anotados são chamados, mas ...
Não parece que o proxy anotada mantém qualquer uma das anotações subjacentes tão curto de realizar a reflexão sobre cada chamada, como eu faço o proxy tem as anotações da classe que de proxy?
Obrigado, Allain
Solução
AFAIK, isso depende do seu lib injeção de bytecode. Além disso, lembre-se que, normalmente, as anotações são não herdado (imposta pela especificação Java). Se você quiser acessar a classe original, e estão usando CGLIB, você pode usar esse trecho:
if (Enhancer.isEnhanced(getClass())) {
currClass = UnEnhancer.unenhance(getClass());
} else {
// else, let's get the original class directly
currClass = getClass();
}