Alguém poderia me ajudar a acertar uma consulta através do CriteriaBuilder do JPA2 ??
Eu não estou conseguindo adicionar uma condição no select quando tenho uma classe @Embeddable
@Entity
class Person{
@Embedded
private Address address;
//...
}
@Embeddable
class Address {
private String city;
//...
}
Quando tento, buscar todas as Pessoas que tenham a cidade ocorre NulPointerException, já tentei fazer um join, q ñ deveria ser, mais mesmo assim dá erro.
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Person> criteriaQuery = criteriaBuilder.createQuery(Person.class);
Root<Person> from = criteriaQuery.from(Person.class);
CriteriaQuery<Person> select = criteriaQuery.select(from);
Predicate p1 = criteriaBuilder.equal(from.get("address.city"), "Sao Paulo"); //ocorre java.lang.NullPointerException
TypedQuery<Person> typedQuery = entityManager.createQuery(select.where(p1));
List<Person> resultList = typedQuery.getResultList();