我想要使用下面的代碼從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