在where子句中的JPA日期比较

时间:2014-12-09 15:23:08

标签: date jpa comparison

我是JPA的新手,如何在JPA Criteria Builder中转换以下代码段?

从t1 t中选择t其中(CURRENT_TIMESTAMP - t.createTstamp)< 200

1 个答案:

答案 0 :(得分:0)

使用CriteriaBuilder,CriteriaQuery和Root类实现解决方案。

Expression currentDate = em.getCriteriaBuilder().currentDate();
Expression createTmstp = sroot.get("createTmstp");

predicateList.add(cb.greaterThan( (cb.diff(currentDate, brokerAdvTmstp)),200));

Predicate[] predicates = predicateList.toArray(new Predicate[predicateList.size()]);

cq.where(predicates);

Query qry = em.createQuery(cq);