[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [eclipselink-users] Specify MaxResultSize of "owning" Entity	with @QueryHint(LEFT_FETCH...) in NamedQuery + .setMaxResults() ???
 | 
Hello Mario,
Joining and batch reading on collection types do not work well when 
using cursors or other features that limit the results returned.  These 
features work on the database results, not the returned objects to avoid 
having to bring in large amounts of data.  Unfortunately, there is no 
way to limit database results to a set number of objects on an object 
bases.  There is no way to know without reading in all the rows to tell 
when a particular object is done being built. 
If the reason for limiting results is to limit memory use, I would 
suggest that you not using joining,and instead allow EclipseLink to read 
in Addresses and Roles with individual queries as it builds each 
partner.  If you are using the cache, some of the partner objects may 
already exist there, so these queries might not always be necessary. 
Best Regards,
Chris
Mario Sandro Schwarz wrote:
Hello everybody,
I have a Partner entity which can have multiple Addresses and multiple 
Roles.
I have a use-case-based query which should retrieve always 50 partners 
in paging mode.
So I created a NamedQuery, which Selects all Partners and uses two 
LEFT_FETCH QueryHints to obtain the Adresses and the roles to the 
partners and limits the result by .setMaxResults. The problem is that 
the number of results specified by .setMaxResults() refers the whole 
result set and not just the owning partner entities. And that result 
set dramatically varies.
Assuming I have 50 Partners, each Partner has 10 addresses and 10 
roles. In that case I´d have to set .setMaxResults() to 5000.
But what if just the half of the 50 partners have 10 addresses and 10 
roles, let´s say the other 25 just have 3.
That would be 25 * 10 * 10 + 25 * 3 * 3 = 2725 rows in the result set.
Any help is appreciated!
Mario
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users