2010-10-22 13 views
56

Bir JPA Kriteri API öğreticisi bulmaya çalışıyorum ama çok başarılı olamadım. Yeni başlayanlar için herhangi bir şey biliyor musunuz? Karmaşık arama sorguları oluşturmak için bir Java5/Maven uygulamasında kullanmaya başlamak istiyorum.JPA Kriterleri Eğitimi

+1

Korelasyon katsayısı 1.0 – HDave

cevap

95

Dynamic, typesafe queries in JPA 2.0 makale, buldum aslında iyi biri şimdiye kadar Java EE 6 öğreticiler den Chapter 23 Using the Criteria API to Create Queries daha iyi çevrimiçi (yani bazı hatalar içerir) bu konuda çok iyi bir tanesidir. sık sorulan

+2

@HDave Kriterleri API Oracle'ın EE7 linki https://docs.oracle.com/ [değişti javaee/7/tutorial/persistence-criteria.htm # GJITV] (https://docs.oracle.com/javaee/7/tutorial/persistence-criteria.htm#GJITV) – skomisa

12

Örnekler here

Tüm örnekler bu şeklindedir şunlardır: Ayrıca diğer teknolojileri düşünüyorsanız ciddiye querydsl düşünmelisiniz

CriteriaBuilder cb = em.getCriteriaBuilder(); 

// Query for a List of objects. 
CriteriaQuery cq = cb.createQuery(); 
Root e = cq.from(Employee.class); 
cq.where(cb.greaterThan(e.get("salary"), 100000)); 
Query query = em.createQuery(cq); 
List<Employee> result = query.getResultList(); 

. Kriterler üzerindeki ana avantajlar, kısa kod, iyi okunabilirlik ve normal sql'e benzer sözdizimini içerir. Burada

Örnek QueryDSL kodu: konu dışı ve kullanışlılık == arasındaki

JPAQuery query = new JPAQuery(entityManager); 
List<Person> persons = query.from(person) 
    .where(
    person.firstName.eq("John")),   
    .list(person); 
+0

İlk örneğiniz "Açık seçimler ve örtük biri belirlenemedi "exeption – Irakli

+0

'. ”(burada açılan köşeli parantez kapanmıyor. – Alex78191