当前位置: 首页 > 知识库问答 >
问题:

JPA CriteriaBuilder使用criteries获取列表实体

庄宇
2023-03-14

在我的示例中,如何使用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;

共有1个答案

邬阳
2023-03-14

第一个问题

   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())));
 类似资料:
  • 我一直在使用模式。方法来获取模式中的表列表,但今天我发现该方法返回的是执行jOOQ代码生成时存在的表列表,而不是此时存在的表。 我的具体用例是随着时间的推移创建表(自动分区),我们的Java服务对它们执行一些操作。 在jOOQ中有没有办法从DB中获取当前的表列表? 我可以求助于查询信息模式。直接使用表,但我更愿意重用来自jOOQ的方法(如果可用的话)。

  • X1.2新增 sp_get_users($tag,$where) 功能: 获取符合条件的用户列表; 参数: $tag:查询标签,默认:field:*;limit:0,8;order:create_time desc; $where:查询where数组,按照thinkphp where array格式; 返回: 数组,符合条件的用户列表 使用 //获取最新注册的8个新用户 $las

  • 最近,我在使用标准应用编程接口时遇到了问题。这是我第一次接触它。这是我的办公室实体的一部分。 目标-从特定的办公室实体获取工人实体列表。到目前为止,我已经知道如何通过以下方式实现目标: 它工作得很好,但我认为我太依赖JavaList接口方法而不是CriteriaAPI。我可以通过在Criteria中创建适当的查询来获取WorkerEntity(OfficeEntity中的字段“workers”)列

  • 我想使用以下查询获得结果列表: 我在它的实体类中使用了它,但我得到了异常: 当用户成功登录应用程序时,将获得matricula字段。应该通过CDI在NamedQuery中设置它来查询数据库。matricula字段位于另一个不同于此处映射的表中。 如何设置注入的setsionChave字符串在参数的矩阵,这是XRlzConsolado类类型? 豆子: 有3个实体:XRlz、XRlzConsolado

  • 工作SPARQL查询: 如何克服这个问题。

  • 说明api接口获取商家用户列表 请求地址 http://api.dc78.cn/Api/sys_getUserList 请求方式 POST 请求参数 参数 参数名称 描述 aid 用户编号 非必填 name 用户名称 非必填 phone 手机号码 非必填 msid 门店编号 (默认:全部门店账号+后台账号) 非必填 last_sort_id 分页字段(取最后一条数据中的last_sort_id),