bow*_*sie 3 java orm hibernate lazy-loading
我遇到过几个实例,在这些实例中,POJO采用代理的hibernate bean进行一些工作.
例如,如果我xml为框架X注释bean并将其传递给框架X,则它无法识别该bean,因为它传递了代理对象 - 它没有框架X的注释.
这有一个共同的解决方案吗?我不希望将bean定义为急切加载,或者在应用程序的任何位置转换延迟加载.
您可以在传递对象之前取消对其进行异步处理:
public static <T> T initializeAndUnproxy(T var) {
if (var == null) {
throw new IllegalArgumentException("passed argument is null");
}
Hibernate.initialize(var);
if (var instanceof HibernateProxy) {
var = (T) ((HibernateProxy) var).getHibernateLazyInitializer()
.getImplementation();
}
return var;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
924 次 |
| 最近记录: |