SORU
21 Mayıs 2010, Cuma


2 sonuçlar saymayı CriteriaQuery, bir kullanarak JPA

Yeni JPA ben daha ziyade 2 ve CriteriaBuilder / CriteriaQuery API:

CriteriaQuery javadoc

CriteriaQuery in the Java EE 6 tutorial

Aslında onları almadan bir CriteriaQuery sonuçlarını saymak istiyorum. Mümkün böyle bir yöntem buldum, tek yolu bu olacaktır:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();

CriteriaQuery<MyEntity> cq = cb
        .createQuery(MyEntityclass);

// initialize predicates here

return entityManager.createQuery(cq).getResultList().size();

Ve bunu yapmak için doğru yol olabilir

Bir çözüm var mı?

CEVAP
21 Mayıs 2010, Cuma


Bir sorgu türü MyEntity dönecek, MyEntity! Uzun bir sorgu istemiyorsun, öyle mi?

CriteriaBuilder qb = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> cq = qb.createQuery(Long.class);
cq.select(qb.count(cq.from(MyEntity.class)));
cq.where(/*your stuff*/);
return entityManager.createQuery(cq).getSingleResult();

Belli ki örnekte atladın ne olursa olsun kısıtlamalar ve gruplar vs ile ifade oluşturmak istiyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • SerienTrailerMP

    SerienTraile

    7 HAZİRAN 2012
  • Simon Hayter

    Simon Hayter

    20 HAZİRAN 2010