我有一个JPA数据模型如下(简化版本),我想要求在某些给定日期之间发生事件。
public class Demand {
private Set<Event> events;
}
public class Event {
private Date date;
}
我确实获得了对events属性的Path引用,但我不知道如何根据date属性表达一个谓词之间。
Path<Set<Evenement>> pathEvents = demand.<Set<Evenement>> get("events");
pathEvents.get("date")
throw“org.springframework.dao.InvalidDataAccessApiUsageException:非法尝试取消引用路径源”异常。 谢谢你的帮助!
答案 0 :(得分:-1)
我找到了一种获取对事件属性的引用的方法
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Tuple> c = cb.createTupleQuery();
Root<Demand> demandes = c.from(Demand.class);
Join<Demand, Evenement> joinEvent = d.join("events", JoinType.INNER);
我无法从连接对象获取路径引用。
Path<DateTime> dateExpr = joinEvent.get("date");