我是JPA的新手,如何在JPA Criteria Builder中转换以下代码段?
从t1 t中选择t其中(CURRENT_TIMESTAMP - t.createTstamp)< 200
答案 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);