CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery();
Root<Book> candidate = cq.from(Book.class);
candidate.alias("b");
cq.select(candidate);
Path titleField = candidate.get("title");
cq.where(cb.equal(titleField, "Bar Book"));
Query q = em.createQuery(cq);
List<Book> books = q.getResultList();