From 2b250edff996a70149a23ab5f0d357f14c76207f Mon Sep 17 00:00:00 2001 From: Gavin King Date: Mon, 16 May 2005 06:10:26 +0000 Subject: [PATCH] undocumented the old limitations git-svn-id: https://svn.jboss.org/repos/hibernate/trunk/Hibernate3/doc@6795 1b8cb986-b30d-0410-93ca-fae66ebed9b2 --- reference/en/modules/collection_mapping.xml | 3 +-- reference/en/modules/performance.xml | 20 -------------------- reference/en/modules/query_hql.xml | 4 +--- 3 files changed, 2 insertions(+), 25 deletions(-) diff --git a/reference/en/modules/collection_mapping.xml b/reference/en/modules/collection_mapping.xml index aa9ac4307a..e86c38d755 100644 --- a/reference/en/modules/collection_mapping.xml +++ b/reference/en/modules/collection_mapping.xml @@ -198,8 +198,7 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set fetch (optional, defaults to select) Choose between outer-join fetching, fetching by sequential select, and fetching by sequential - subselect. Only one collection may be fetched by outer join per SQL - SELECT. + subselect. diff --git a/reference/en/modules/performance.xml b/reference/en/modules/performance.xml index 0b4ae67d43..db31be0827 100644 --- a/reference/en/modules/performance.xml +++ b/reference/en/modules/performance.xml @@ -217,26 +217,6 @@ Integer accessLevel = (Integer) permissions.get("accounts"); // Error!]]> (This is Hibernate's equivalent of what some ORM solutions call a "fetch plan".) - - - Join fetching for collections has one limitation: you may only set one collection - role per persistent class or query to be fetched per outer join. Hibernate forbids - Cartesian products when possible, SELECTing two collections per - outer join would create one. This would almost always be slower than two (lazy or - non-deferred) SELECTs. The restriction to a single outer-joined - collection applies to both the mapping fetching strategies and to HQL/Criteria - queries. - - - - If you run into this limitation, you should use subselect or batch fetching to - achieve acceptable performance. This is common when retrieving a tree of - collection-valued associations. - - - - There are no restrictions to join fetching of single-ended associations. - A completely different way to avoid problems with N+1 selects is to use the diff --git a/reference/en/modules/query_hql.xml b/reference/en/modules/query_hql.xml index 0cc8c075ef..61495a5748 100644 --- a/reference/en/modules/query_hql.xml +++ b/reference/en/modules/query_hql.xml @@ -148,9 +148,7 @@ - Note that, in the current implementation, only one collection role may be join fetched - in a query (more than one role will usually result in a cartesian product). Note also - that the fetch construct may not be used in queries called using + Note that the fetch construct may not be used in queries called using scroll() or iterate(). Finally, note that full join fetch and right join fetch are not meaningful.