HI,
hab folgende Criteria in der AbstrachtFacade:
Leider bekomme ich statt einer gefilterten Liste, einfach alle DB-Einträge von der jeweiligen Entity und das sogar doppelt.
Folgender Statement liefert genau das, was ich brauche:
Weiß jemand woran das liegen könnte?
hab folgende Criteria in der AbstrachtFacade:
Java:
javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
Predicate condition1 = cb.between(cq.from(entityClass).get("latitude"), minLat, maxLat);
Predicate condition2 = cb.between(cq.from(entityClass).get("longitude"), minLong, maxLong);
cq.where(condition1).where(condition2);
javax.persistence.Query q = getEntityManager().createQuery(cq);
return q.getResultList();
Leider bekomme ich statt einer gefilterten Liste, einfach alle DB-Einträge von der jeweiligen Entity und das sogar doppelt.
Folgender Statement liefert genau das, was ich brauche:
SQL:
SELECT u FROM UserEntity u WHERE
u.latitude BETWEEN :minLatitude AND :maxLatitude
AND
u.longitude BETWEEN :minLongitude AND :maxLongitude
Java:
Query query = em.createQuery(queryString);
Weiß jemand woran das liegen könnte?