April 05
Prof. Ismael H. F. Santos -  ismael@tecgraf.puc-rio.br                                                          2
JPA Queries – JPAQL
nUma query dinâmica é criada durante a execução e por isso será um pouco mais custosa porque o JPA provider não poderá fazer nenhum tipo de otimização a priori.
nEntityManagerFactory emf = Persistence.createEntityManagerFactory("Tutorial");
nEntityManager em = emf.createEntityManager();
n........
n@SuppressWarnings("unchecked")
npublic Collection<Employee> findAllEmployees() {
n  Query query = em.createQuery(“select e FROM Employee e");
n  return query.getResultList(); }
n........
n// find all employees
nCollection<Employee> listEmps = service.findAllEmployees();
nfor( Employee e : listEmps )
n   System.out.println("Found employee: " + e);
nObserve que a query JPQL não se refere a uma tabela EMPLOYEE do BD e sim a entidade Employee. Portanto esta é uma query selecionando todos os objetos Employee sem nenhuma filtragem !