aspose file tools*
The moose likes Object Relational Mapping and the fly likes How to count the number of rows of a JPA 2 CriteriaQuery in a generic JPA DAO? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "How to count the number of rows of a JPA 2 CriteriaQuery in a generic JPA DAO?" Watch "How to count the number of rows of a JPA 2 CriteriaQuery in a generic JPA DAO?" New topic
Author

How to count the number of rows of a JPA 2 CriteriaQuery in a generic JPA DAO?

ramin iramin
Greenhorn

Joined: Jan 29, 2012
Posts: 1
I'm new in JPA and want to implement a generic JPA DAO and need to find the number of rows of a query result set to implement pagination. After searching the web, I can't find a practical way to do that. Here is the code suggested in many articles:



However, that code doesn't work when using `join`. Is there any way to count the rows of a query result set using the JPA Criteria API?



here is the code that create CriteriaQuery :





and some joins may be added to the root until the query have been executed:




and the generated exception is like :

> org.hibernate.hql.ast.QuerySyntaxException: Invalid path:
> 'generatedAlias1.id' [select count(generatedAlias0) from entity.Entity
> as generatedAlias0 where ( generatedAlias0.id>=13L ) and (
> (generatedAlias1.id<=34L ) )]


which generatedAlias1 should be on Entity and generatedAlias0 should be on the association that I joined on that.
Note that I implement Join properly because when I execute query without count query it executes without error and the Join works properly but when I try to execute count query it throws exception.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How to count the number of rows of a JPA 2 CriteriaQuery in a generic JPA DAO?