java - JPA CriteriaBuilder 获取具有条件的列表实体

标签 java hibernate jpa criteria

如何使用 JPA CriteriaBuilder 进行此选择,就像我的示例中的 hibernate Criteria 一样?

Criteria criteria = getSession().createCriteria(Payment.class);
        criteria.setFirstResult(0);
        criteria.setMaxResults(1);
        criteria.add(Restrictions.eq("statusStepOne", 0));
        List list = criteria.list();

Criteria criteria = getSession().createCriteria(Payment.class);
        criteria.add(Restrictions.eq("oid", oid));
        criteria.add(Restrictions.between("dateCreated", Utils.getDateMinus(1), new Date()));
        List list = criteria.list();
        return (List<Payment>)list;

最佳答案

第一个查询

   Criteria criteria = getSession().createCriteria(Payment.class);
   criteria.setFirstResult(0);
   criteria.setMaxResults(1);
   criteria.add(Restrictions.eq("statusStepOne", 0));
   List list = criteria.list();

JPA 第一个查询

   CriteriaBuilder cb = em.getCriteriaBuilder();
   CriteriaQuery<Payment> query = cb.createQuery(Payment.class);

   Root<Payment> p = query.from(Payment.class);
   query.select(p);
   query.where(cb.equal(p.get("statusStepOne"), 0));
   query.setFirstResult(0);
   query.setMaxResults(1);

   List<Payment> list = query.getResultList();

第二个查询

   Criteria criteria = getSession().createCriteria(Payment.class);
   criteria.add(Restrictions.eq("oid", oid));
   criteria.add(Restrictions.between("dateCreated", Utils.getDateMinus(1), new Date()));
   return (List<Payment>) criteria.list(); // I've removed useless asignment

JPA 第二个查询

  CriteriaBuilder cb = em.getCriteriaBuilder();
  CriteriaQuery<Payment> query = cb.createQuery(Payment.class);

  Root<Payment> p = query.from(Payment.class);
  query.select(p);
  query.where(cb.equal(p.get("oid"), oid)
       .and(cb.between(p.get("dateCreated"), Utils.getDateMinus(1), new Date())));

关于java - JPA CriteriaBuilder 获取具有条件的列表实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36932628/

相关文章:

java - 使用 Hibernate 读取未映射的字段?

java - 如何使用 Hibernate 删除相互关联的对象

java - 参数动态时如何构建 JPQL 查询?

java - 提高 Jpa 图像加载时间的性能

java - Android 中存储状态

java - 焊接和 Java SE

java - 使用 postgres 独立启动 jackrabbit

java - 添加validation-api-2.0.1.final.jar会出现错误

Java套接字客户端超时

java - 如何处理尚未持久化的实体集? Java JPA