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

标签 java hibernate jpa jakarta-ee

我正在将 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/

相关文章:

java - JpaRepository findBy 引用表中的字段

java - android opencv Utils.BitmapToMap 运行时异常帮助?

hibernate - Hibernate Search 5.11 indexNullAs不起作用

java - org.hibernate.MappingException : Unknown entity

java - 同一张表上的左连接

Java HashMap 问题

java - Gradle 设置和依赖项

java - 通过 Hibernate 将接口(interface)映射为主键

mysql - Hibernate JPA是否支持mysql InnoDB和MyISAM引擎

java - 使用 Enum 表示用户角色