【发布时间】:2012-03-12 17:35:42
【问题描述】:
W 试图获取超过三个级别的连接:
JOIN FETCH entity1.collection1.collection2 // two OneToMany relations
但是得到了:
org.hibernate.HibernateException: Errors in named queries: [...]
是因为它太深,还是因为无法以这种方式获取集合的集合?如果相关的话,我的最大获取深度是 3。
同时,我可以从另一边开始执行三重 JOIN FETCH:
JOIN FETCH entity3.entity2.entity1 // two ManyToOne relations
不知何故,我在 JPA 规范或 Hibernate 文档中找不到任何会限制该子句深度的内容。
【问题讨论】:
-
请包含异常信息。通常,它会告诉错误的原因。
-
真的没什么可介绍的;堆栈跟踪被 Glassfish 剪切,最上面的异常是“无法构建 EntityManagerFactory”,由我上面引用的异常引起。
标签: java hibernate jpa hql jpql