gpt4 book ai didi

java - Hibernate 延迟加载代理与其他框架不兼容

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:58:20 25 4
gpt4 key购买 nike

我遇到过几个实例,在这些实例中,框架使用 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;
}

关于java - Hibernate 延迟加载代理与其他框架不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2959475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com