使用动态代理时,如何访问基础对象的注释?

具体来说,我使用@Column(" client_id")注释ORM对象的设置,然后让动态代理跟踪调用带注释的setter的时间,但是......

注释代理似乎没有保留任何底层注释,因此不能对每次调用执行反射,如何使代理具有它所代表的类的注释?

谢谢你, 阿兰

有帮助吗?

解决方案

AFAIK,它取决于你的字节码注入lib。此外,请记住,通常不会继承注释(由Java规范强加)。如果要访问原始类,并且正在使用CGLIB,则可以使用以下代码段:

 if (Enhancer.isEnhanced(getClass())) {
    currClass = UnEnhancer.unenhance(getClass());
 } else {
    // else, let's get the original class directly
    currClass = getClass();
 }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top