Java 在hibernate 5中将日期与CriteriaQuery进行比较
在Hibernate4中,我可以像Java 在hibernate 5中将日期与CriteriaQuery进行比较,java,hibernate,Java,Hibernate,在Hibernate4中,我可以像 Criteria criteria = session.createCriteria(FlightData.class); // Restriction to match Departure Location, Arrival Location and ValidTill Date criteria.add(Restrictions.and(Restrictions.eq("departureLocation", query.getDepar
Criteria criteria = session.createCriteria(FlightData.class);
// Restriction to match Departure Location, Arrival Location and ValidTill Date
criteria.add(Restrictions.and(Restrictions.eq("departureLocation", query.getDepartLoc()),
Restrictions.eq("arrivalLocation", query.getArrivalLoc()),
Restrictions.ge("validTill", query.getTravelDate())));
其中,validTill在java 8中为LocalDate类型。
但是如果我喜欢hibernate 5
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<FlightData> cq = builder.createQuery(FlightData.class);
Root<FlightData> root = cq.from(FlightData.class);
cq.select(root).where(builder.and(
builder.equal(root.get("departureLocation"), query.getDepartLoc()),
builder.equal(root.get("arrivalLocation"), query.getArrivalLoc()),
builder.ge(root.get("validTill"), query.getTravelDate())
));
}
关于如何使用条件将LocalDate与hibernate 5进行比较的任何建议。如果您开始使用hibernate 5,那么我建议将此依赖项添加到您的类路径中:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>5.2.7.Final</version>
</dependency>
org.hibernate
)是必需的。错误是什么?还添加FlightData实体impl
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>5.2.7.Final</version>
</dependency>