2008-09-28 7 views
4

Как использовать динамические прокси, как получить доступ к аннотациям базового объекта?Как использовать динамические прокси, как получить доступ к аннотациям базового объекта?

Конкретно я аннотирования параметры объекта ОРМ с @Column («CLIENT_ID»), а затем сделать динамический прокси отслеживать при вызове аннотированный сеттеры, но ...

Это не похоже, что аннотированный прокси-сервер сохраняет любую из основных аннотаций, не доходя до отражения в каждом вызове, как сделать прокси-сервер аннотациями класса Proxying?

Спасибо, Allain

ответ

4

AFAIK, это зависит от вашего инъекции байткодом Lib. Также помните, что обычно аннотации не наследуются (накладываются спецификацией Java). Если вы хотите получить доступ к исходному классу и используете CGLIB, вы можете использовать этот фрагмент:

if (Enhancer.isEnhanced(getClass())) { 
    currClass = UnEnhancer.unenhance(getClass()); 
} else { 
    // else, let's get the original class directly 
    currClass = getClass(); 
}