To create a pagination or limit the result set returned by the Criteria
query we can use the setFirstResult()
and setMaxResults()
method. The setFirstResult()
method defines the first row to start with and the setMaxResults()
method defines the maximum number of records to read. Let’s see the demo below.
package org.kodejava.hibernate;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.HibernateException;
import org.hibernate.Criteria;
import org.hibernate.cfg.Configuration;
import org.kodejava.hibernate.model.Track;
import java.util.List;
public class CriteriaPagingDemo {
public static Session getSession() throws HibernateException {
String cfg = "hibernate.cfg.xml";
SessionFactory sessionFactory = new Configuration().configure(cfg)
.buildSessionFactory();
return sessionFactory.openSession();
}
@SuppressWarnings("unchecked")
public static void main(String[] args) {
try (Session session = getSession()) {
Criteria criteria = session.createCriteria(Track.class);
// Set the first record index to read from the result set.
criteria.setFirstResult(0);
// Set the maximum number of records to read
criteria.setMaxResults(10);
List<Track> tracks = criteria.list();
for (Track track : tracks) {
System.out.println("Track = " + track.getTitle());
}
}
}
}
Maven Dependencies
<dependencies>
<!-- https://search.maven.org/remotecontent?filepath=org/hibernate/hibernate-core/5.6.9.Final/hibernate-core-5.6.9.Final.jar -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.6.9.Final</version>
</dependency>
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
</dependencies>
Latest posts by Wayan (see all)
- How do I build simple search page using ZK and Spring Boot? - March 8, 2023
- How do I calculate days between two dates excluding weekends and holidays? - January 12, 2023
- How do I discover the quarter of a given date? - January 11, 2023