My favorite link is here:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1538
It describes HQL which is a lot like SQL, but more powerful.
There's always multiple ways to do things in Hibernate. Once I have a Session, I have had good luck doing the following:
Code:
Query query = session.createQuery(hqlText);
// Really fast way to get row count:
ScrollableResults scrollableResult = query.scroll();
if (scrollableResult.last()) {
rowCount = scrollableResult.getRowNumber() + 1;
}
else {
rowCount = 0;
}
scrollableResult.close();
To get result set:
Code:
List list = query.list();
Before doing the above, you can use Hibernate's powerful pagination support like this:
Code:
query.setFirstResult(firstRowIndex);
query.setMaxResults(maxRowsToFetch);