Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Criteria-API issue with

What result do you get back?  Is the SQL the same?

The issue is that you are using join fetch, this requires fetching all of
the contents rows, so there are 25*3=75 rows, not 25 rows.  When you use
maxResults this is on the number of rows, so with 15, I would expect you
only get back 5 DBList objects.  If you get back 15, my guess the same 5 are
being duplicated in the list, or worse don't have all of their contents. 
Normally you should have an orderBy when using pagination to ensure
consistent order.

JPA has some odd rules about when duplicates should be returned or not. 
Normally EclipseLink would filter the duplicates, but it may be doing this
differently for JPQL vs Criteria.  I not sure what the JPA spec mandates, so
this could be a bug.  Definitely when you set distinct, EclipseLink will
filter the duplicates, so this is probably what you are seeing.


BrianRepko wrote:
> 
> I have an entity (DbList) with a List<String> element collection
> (contents) that is lazily fetched.
> 
> I'm trying different ways to load the collection of all entities
> and eagerly load contents - JPQL and the Criteria API - with or
> without a firstResult / maxResults.
> 
> I'm getting the right number of entities whenever I use JPQL.
> When I use the Criteria API - I get the right number of entities
> when using firstResult / maxResults.
> When I use the Criteria API and an unlimited result set (don't
> set firstResult/maxResults), then I get the wrong amount of
> entities back unless I explicitly add a distinct(true) to the
> CriteriaQuery.
> 
> I've attached DbList and Test - this is working but you'll see
> how I had to add the distinct call to the Criteria "all" case to
> get it to work.
> Add distinct on the result limiting run causes it to fail.
> 
> Is this a bug or do I not have my Criteria built correctly?
> 
> BTW - this is failing the same way on Oracle, H2 and Derby and I
> have a small project setup if that helps...
> 
>  
> 


-----
http://wiki.eclipse.org/User:James.sutherland.oracle.com James Sutherland 
http://www.eclipse.org/eclipselink/
 EclipseLink ,  http://www.oracle.com/technology/products/ias/toplink/
TopLink 
Wiki:  http://wiki.eclipse.org/EclipseLink EclipseLink , 
http://wiki.oracle.com/page/TopLink TopLink 
Forums:  http://forums.oracle.com/forums/forum.jspa?forumID=48 TopLink , 
http://www.eclipse.org/forums/index.php?t=thread&frm_id=111&S=1b00bfd151289b297688823a00683aca
EclipseLink 
Book:  http://en.wikibooks.org/wiki/Java_Persistence Java Persistence 
Blog:  http://java-persistence-performance.blogspot.com/ Java Persistence
Performance 
-- 
View this message in context: http://old.nabble.com/Criteria-API-issue-with-tp33662834p33675357.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.



Back to the top