当一个人试图急切地加载两个行李时,会抛出以下异常
org.hibernate.loader.MultipleBagFetchException:无法同时进行 拿多个包
根据以下帖子:
org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags
Hibernate cannot simultaneously fetch multiple bags
Hibernate不允许获取多个包,因为这会生成笛卡尔积。
这两个帖子都建议使用集合而不是非索引列表(行李)。
我的问题是:
为什么尝试加载两个袋子会生成笛卡尔积并且使用套装不会?
答案 0 :(得分:0)
在这两种情况下都会产生笛卡尔积 - 袋子和套装。使用什么并不重要。
本声明的含义:
Hibernate不允许获取多个包,因为这会生成笛卡尔积。
Hibernate可以使用集合处理笛卡尔积的结果,但不能使用行李。你可以在这里参考一个例子: Hibernate Exception - Simultaneously Fetch Multiple Bags