Ao usar dinâmico proxies, como faço para acessar anotações do objeto subjacente?

StackOverflow https://stackoverflow.com/questions/144936

  •  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

Foi útil?

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();
 }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top