我想要使用下面的代码从MySQL
表中拉取经验对象的列表。每个经验都有一个从datetime
列和一个到datetime
列,并且我只想在当前日期落在from和to之间的行上。使用JPA/Hibernate标准拉日期
我正在使用JPA 2.0运行休眠。
Date currentDate = new Date();
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Experience> query = builder.createQuery(Experience.class);
Root<Experience> root = query.from(Experience.class);
builder.between(currentDate, root.get("from"), root.get("to"));
return entityManager.createQuery(query).getResultList();
我的问题是,builder.between()
显然不会允许我传递Date对象。
有没有更好的解决我的问题?
谢谢 - 这是完美的。我现在的问题是,由于某种原因,root.get(“from”)返回一个Path对象而不是一个Expression对象? – christophmccann 2010-11-23 13:59:58