Java tutorial
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(); } } }