Olá pessoal, estou estudando o método de listar com JPA e não estou entendendo uma certa parte do método. Gostaria que alguém me explicasse essa parte que não entendi.
public List<Locacao> listar() {
EntityTransaction transacao = null;
EntityManagerFactory entityManagerFactory = null;
EntityManager entityManager = null;
try {
entityManagerFactory = Persistence.createEntityManagerFactory("locadorapersistencia");
entityManager = entityManagerFactory.createEntityManager();
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Locacao> cq = cb.createQuery(Locacao.class);
Root<Locacao> rootEntry = cq.from(Locacao.class);
CriteriaQuery<Locacao> all = cq.select(rootEntry);
TypedQuery<Locacao> allQuery = entityManager.createQuery(all);
return allQuery.getResultList();
} catch (RuntimeException e) {
System.out.println("GerericRepository.buscar" + e.toString());
// TODO: handle exception
throw e;
} finally {
entityManager.close();
entityManagerFactory.close();
}
}
Parte que não entendi:
Root<Locacao> rootEntry = cq.from(Locacao.class);
CriteriaQuery<Locacao> all = cq.select(rootEntry);
TypedQuery<Locacao> allQuery = entityManager.createQuery(all);
return allQuery.getResultList();