Java CGLIB代理字符串或其他最终类是如何生成的?
我想问一个关于Hibernate中的惰性抓取的问题 据我所知,为了实现延迟抓取,Hibernate创建了一个占位符,它是不动产的代理Java CGLIB代理字符串或其他最终类是如何生成的?,java,hibernate,jpa,cglib,Java,Hibernate,Jpa,Cglib,我想问一个关于Hibernate中的惰性抓取的问题 据我所知,为了实现延迟抓取,Hibernate创建了一个占位符,它是不动产的代理 如果我的实体包含字符串属性或其他最终类怎么办?CGLIB将如何将其子类化?长话短说: CGLib根本无法代理final类,您可能在日志中看到类似于无法生成类[class SomeClass]的CGLib子类的内容:此问题的常见原因包括使用final类或不可见类 Hibernate首先代理您的实体类,并将相应的对象注入各自的getter中,因此实际的调用堆栈通常如下
如果我的实体包含字符串属性或其他最终类怎么办?CGLIB将如何将其子类化?长话短说:
无法生成类[class SomeClass]的CGLib子类的内容:此问题的常见原因包括使用final类或不可见类
myEntity.getMyString()
|_ proxy.getMyString()
|_ lazyAttributeLoadingInterceptor.fetchAttribute(myEntity,"myString")
|_ ... (actual call to underlying DB if required)