How do I create a Criteria object?

This example show you how to create an instance of Hibernate Criteria class. To create a Criteria we call the factory method of the Session object and pass the persistence class as parameter. To execute the Criteria query we simply call the list() method.

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 CreateCriteriaDemo {
    public static Session getSession() throws HibernateException {
        String cfg = "hibernate.cfg.xml";
        SessionFactory sessionFactory = new Configuration().configure(cfg)
        return sessionFactory.openSession();

    public static void main(String[] args) {
        try (Session session = getSession()) {
            // Create a new Criteria to query for a collection of Tracks.
            // To create an instance of Criteria we call a createCriteria()
            // factory method of the Session object.
            Criteria criteria = session.createCriteria(Track.class);

            // Call the list() method to retrieve a collections of Tracks
            // from the database.
            List<Track> tracks = criteria.list();

            for (Track track : tracks) {
                System.out.println("Title     = " + track.getTitle());
                System.out.println("Artist    = " + track.getArtist().getName());
                System.out.println("Genre     = " + track.getGenre().getName());
                System.out.println("Record    = " + track.getRecord().getTitle());
                System.out.println("Label     = " + track.getRecord().getLabel().getName());

Maven Dependencies


Maven Central Maven Central


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.