com.usetheindexluke.JoinHibernate.java Source code

Java tutorial

Introduction

Here is the source code for com.usetheindexluke.JoinHibernate.java

Source

package com.usetheindexluke;

/* "Use The Index, Luke" by Markus Winand is licensed under a Creative Commons
 * Attribution-Noncommercial-No Derivative Works 3.0 Unported License. 
 * 
 *                     http://Use-The-Index-Luke.com/
 */

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Restrictions;

import java.util.List;

//import org.hibernate.ejb.Ejb3Configuration;

public class JoinHibernate {
    public static void main(String[] args) {
        Session session = new Configuration().configure().buildSessionFactory().openSession();
        try {
            String lastName = "Win%";
            Criteria criteria = session.createCriteria(Employees.class);
            criteria.add(Restrictions.ilike("lastName", lastName));

            /*
             * // Uncomment to fetch via join criteria.setFetchMode("sales",
             * FetchMode.JOIN);
             * criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
             */

            List<Employees> result = criteria.list();

            for (Employees e : result) {
                System.out.println("Id " + e.getEmployeeId() + " (" + e.getSubsidiaryId() + "): " + e.getFirstName()
                        + " " + e.getLastName());
                for (Sales s : e.getSales()) {
                    System.out.println("   SalesId: " + s.getSaleId() + " date: " + s.getSaleDate() + " EUR value: "
                            + s.getEurValue());
                }
            }
        } finally {
            session.close();
        }
    }
}