Jakarta ee 如何将jqpl查询迁移到CriteriaAPI

Jakarta ee 如何将jqpl查询迁移到CriteriaAPI,jakarta-ee,jpa,criteria-api,Jakarta Ee,Jpa,Criteria Api,请在jpql中使用此查询,我希望迁移到条件。我怎么能告诉你 查询: SELECT c FROM Cartera c,Cliente cli WHERE c.aseId = :aseId and cli.aseId=c.aseId 谢谢CriteriaBuilder cb=em.getCriteriaBuilder(); CriteriaQuery=cb.createQuery(Cartera.class); 根cartera=query.from(cartera.class); Root cl

请在jpql中使用此查询,我希望迁移到条件。我怎么能告诉你

查询:

SELECT c FROM Cartera c,Cliente cli WHERE c.aseId = :aseId and cli.aseId=c.aseId
谢谢

CriteriaBuilder cb=em.getCriteriaBuilder();
CriteriaQuery=cb.createQuery(Cartera.class);
根cartera=query.from(cartera.class);
Root cliente=query.from(cliente.class);
查询。选择(卡特拉);
where(cb.equal(cartera.get(cartera_u.aseId),theAseId),
cb.equal(cliente.get(cliente_.aseId),theAseId));

我们应该做到这一点。不过,没有经过测试。

在回答完JB Nizet后,您还必须

TypedQuery<Cartera> tq = em.createQuery(query);
tq.setFirstResult( offset );  // how many records to skip 
tq.setMaxResults( pageSize);  // don't want to fetch a million records
List<Cartera> list = tq.getResultList();
TypedQuery tq=em.createQuery(查询);
tq.setFirstResult(偏移量);//要跳过多少条记录
tq.setMaxResults(页面大小);//我不想拿到一百万张唱片
List=tq.getResultList();
TypedQuery<Cartera> tq = em.createQuery(query);
tq.setFirstResult( offset );  // how many records to skip 
tq.setMaxResults( pageSize);  // don't want to fetch a million records
List<Cartera> list = tq.getResultList();