gpt4 book ai didi

java - MultipleBagFetchException 在 Hibernate 4 中不会发生,但在 5 中会发生

转载 作者:行者123 更新时间:2023-12-02 11:51:59 24 4
gpt4 key购买 nike

我正在将 WildFly 版本从 8.1 (Hibernate 4.3.5) 迁移到 11.0 (Hibernate 5.1.10),现在出现一个新错误:

引起:org.hibernate.loader.MultipleBagFetchException:无法同时获取多个包:[InformeMensalINR.aplicacoesEfetuadas,InformeMensalINR.recursosTransferidos]

映射如下,在 Hibernate 4 上运行良好:

@OneToMany(mappedBy="informeMensalINR",cascade=CascadeType.ALL,fetch=FetchType.EAGER,orphanRemoval=true)
public List<RecursoTransferido> getRecursosTransferidos() {
return recursosTransferidos;
}

@OneToMany(mappedBy="informeMensalINR",cascade=CascadeType.ALL,fetch=FetchType.EAGER,orphanRemoval=true)
public List<AplicacaoEfetuada> getAplicacoesEfetuadas() {
return aplicacoesEfetuadas;
}

对于为什么现在会发生这种情况有什么想法吗?在 WildFly 8 中效果很好。我在 Hibernate JIRA 中没有找到与此问题相关的任何内容。

最佳答案

我很惊讶为什么这在 WildFly 8 中有效!因为 Hibernate 永远无法急切地加载两个列表,因为这会产生笛卡尔积。

请在此处找到详细说明:

org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags

关于java - MultipleBagFetchException 在 Hibernate 4 中不会发生,但在 5 中会发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47824725/

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