Как перенести jqpl-запрос в Criteria API - PullRequest
0 голосов
/ 19 октября 2011

Пожалуйста, укажите этот запрос в jpql, я хочу перейти на критерии.Как тебе это?

Запрос:

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

Спасибо

Ответы [ 2 ]

1 голос
/ 19 октября 2011
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Cartera> query = cb.createQuery(Cartera.class);
Root<Cartera> cartera = query.from(Cartera.class);
Root<Cliente> cliente = query.from(Cliente.class);
query.select(cartera);
query.where(cb.equal(cartera.get(Cartera_.aseId), theAseId),
            cb.equal(cliente.get(Cliente_.aseId), theAseId));

должен сделать свое дело. Не проверено, однако.

0 голосов
/ 19 октября 2011

После ответа Дж. Б. Низета у вас также должно быть

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();
...