package nl.amis.jpa.tuning.tests; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import nl.amis.jpa.tuning.model.entities.Departments; import org.eclipse.persistence.config.QueryHints; public class DepartmentTests { public static void main(String[] args) { // Get the entity manager for the tests. EntityManagerFactory emf = Persistence.createEntityManagerFactory("Model"); EntityManager em = emf.createEntityManager(); try { System.out.println("begin ------------ department1"); List<Departments> result = em.createNamedQuery("Departments.findByName") .setParameter("name", "Finance") .getResultList(); System.out.println("end ------------ department1"); em.clear(); System.out.println("begin ------------ department2"); List<Departments> result2 = em.createNamedQuery("Departments.findByNameFetch") .setParameter("name", "Finance") .getResultList(); System.out.println("end ------------ department2"); em.clear(); System.out.println("begin ------------ department3"); List<Departments> result3 = em.createNamedQuery("Departments.findByNameFetch2") .setParameter("name", "Finance") .getResultList(); System.out.println("end ------------ department3"); em.clear(); System.out.println("begin ------------ department4"); List<Departments> result4 = em.createNamedQuery("Departments.findByName") .setParameter("name", "Finance") .setHint(QueryHints.LEFT_FETCH, "Departments.employeesList") .getResultList(); System.out.println("end ------------ department4"); em.clear(); System.out.println("begin ------------ department5"); List<Departments> result5 = em.createNamedQuery("Departments.findByNameFetch3") .setParameter("name", "Finance") .getResultList(); System.out.println("end ------------ department5"); em.clear(); } catch (RuntimeException e) { e.printStackTrace(); } finally { //Close the manager em.close(); emf.close(); } } }