2010-10-22 14 views
56

मैं एक जेपीए मानदंड एपीआई ट्यूटोरियल खोजने की कोशिश कर रहा हूं लेकिन बहुत सफल नहीं रहा हूं। क्या आप शुरुआती लोगों के बारे में किसी के बारे में जानते हैं? मैं जटिल खोज क्वेरी बनाने के लिए जावा 5/मेवेन ऐप में इसका उपयोग शुरू करना चाहता हूं।जेपीए मानदंड ट्यूटोरियल

+1

सहसंबंध गुणांक 1.0 – HDave

उत्तर

95

Dynamic, typesafe queries in JPA 2.0 लेख इस विषय पर एक बहुत अच्छा एक है, वास्तव में सबसे अच्छा एक मैंने पाया अब तक ऑनलाइन, जावा ईई 6 ट्यूटोरियल से Chapter 23 Using the Criteria API to Create Queries से भी बेहतर (जो कुछ गलतियों को होता है) है।

+2

@HDave मानदंड एपीआई के Oracle की EE7 लिंक करने के लिए [https://docs.oracle.com/ बदल गया है जावा/7/ट्यूटोरियल/दृढ़ता-मानदंड.htm # जीजेआईटीवी] (https://docs.oracle.com/javaee/7/tutorial/persistence-criteria.htm#GJITV) – skomisa

12

आम प्रश्नों के उदाहरण here

सभी उदाहरण इस रूप में कर रहे हैं:

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

आप भी अन्य प्रौद्योगिकियों विचार कर रहे हैं आप को गंभीरता से querydsl विचार करना चाहिए। मानदंडों के मुख्य लाभों में छोटे कोड, अच्छी पठनीयता और नियमित एसक्यूएल के समान वाक्यविन्यास शामिल हैं।

उदाहरण QueryDSL यहाँ कोड: विषय से हटकर और उपयोगिता == बीच

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

आपका पहला उदाहरण फेंकता है "कोई स्पष्ट चयन नहीं है और कोई निहित एक निर्धारित नहीं किया जा सकता "exeption – Irakli

+0

'। कहीं भी (यहां खोला गया ब्रैकेट बंद नहीं होता है। – Alex78191

संबंधित मुद्दे