gostaria de um confirmaçã das seguintes linhas se realmente é isso ou se existe outra explicação melhor para cada linha de codigo.
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); //CriteriaBuilder = e como se fosse a inicialização de uma fabrica
// um codigo para se utilizar para a produção de um determinado produto
CriteriaQuery<Produto> query = criteriaBuilder.createQuery(Produto.class); //e a inicialização da queri como se fosse a string
// do JPA por exmplo (Select * from Produto)
Root<Produto> root = query.from(Produto.class);// Predicate/ Root<e> = como se fosse um AND um codigo para
// continuar a editar a query porexmplo (where id = 1)
Path<String> nomePacht = root.<String>get("nome");// ?????????????