किसी को भी कृपया मुझे निम्नलिखित जेपीए के EntityManager के तरीकों के बीच मतभेद की व्याख्या कर सकते: createQuery(), createNamedQuery() और createNativeQuery() और यह भी मुझे जो मामलों पर समझाने क्या आपको किस विधि का उपयोग करना चाहिए?जेपीए के EntityManager createQuery() बनाम createNamedQuery() बनाम createNativeQuery()
उत्तर
- CreateQuery: एक JPQL
- createNamedQuery बनाने के लिए प्रयोग किया जाता है: मैपिंग फ़ाइल या एनोटेशन में नाम के साथ प्रश्नों को परिभाषित करने के लिए प्रयुक्त go to this
- createNativeQuery: देशी/शुद्ध एसक्यूएल निष्पादित करने के लिए प्रयोग किया जाता है प्रश्नों Example
createQuery विधि गतिशील प्रश्नों, जो एक आवेदन पत्र के व्यापार तर्क के भीतर सीधे परिभाषित क्वेरी दी गई हैं बनाने के लिए प्रयोग किया जाता है। उदाहरण:
public List findWithName(String name) { return em.createQuery( "SELECT c FROM Customer c WHERE c.name LIKE :custName") .setParameter("custName", name) .setMaxResults(10) .getResultList(); }
createNamedQuery विधि स्थिर प्रश्नों, या प्रश्न है कि मेटाडाटा में javax.persistence.NamedQuery एनोटेशन का उपयोग करके परिभाषित कर रहे हैं बनाने के लिए प्रयोग किया जाता है। @NamedQuery का नाम तत्व क्वेरी का नाम निर्दिष्ट करता है जिसका उपयोग createNamedQuery विधि के साथ किया जाएगा।
@PersistenceContext public EntityManager em; ... customers = em.createNamedQuery("findAllCustomersWithName") .setParameter("custName", "Smith") .getResultList();
createNativeQuery का एक उदाहरण बनाएँ:
@NamedQuery( name="findAllCustomersWithName", query="SELECT c FROM Customer c WHERE c.name LIKE :custName" )
यहाँ createNamedQuery, का एक उदाहरण है जो @NamedQuery का उपयोग करता है: @NamedQuery की क्वेरी तत्व क्वेरी है देशी SQL कथन निष्पादित करने के लिए क्वेरी।यहाँ विकल्प createNativeQuery करने के लिए कुछ कारण हैं:
- कम स्तर का उपयोग, जिसका अर्थ है कि आप अनुकूलन और अपने आप से मानचित्रण संभाल कर सकते हैं; एसक्यूएल के साथ आप वास्तव में डेटाबेस तालिका तक पहुंचते हैं जबकि जेपीक्यूएल के साथ आप इकाई ऑब्जेक्ट्स तक पहुंचते हैं;
- शायद तुम JPQL जानने के लिए अगर आप पहले से एसक्यूएल पता नहीं करना चाहती
- आप पहले से ही प्रश्नों एसक्यूएल में लिखा है, और संसाधनों/समय बंदरगाह के लिए उन्हें
लिए JPQL की जरूरत नहीं है
: अधिक जानकारी के उन लिंक्स पर जाएँमैं पहले से ही इन लिंक से गुजर चुका हूं लेकिन समझने में सक्षम नहीं हूं। तो इस सवाल को पोस्ट किया। – Krish
जबकि ये लिंक सैद्धांतिक रूप से प्रश्न का उत्तर दे सकते हैं, [यह बेहतर होगा] (// meta.stackoverflow.com/q/8259) यहां उत्तर के आवश्यक हिस्सों को शामिल करने के लिए, और संदर्भ के लिए लिंक प्रदान करें। अन्यथा एक टिप्पणी पर्याप्त होगी। –
@TobiasLiefke आपकी सलाह के लिए धन्यवाद, मैंने अपना उत्तर –
CreateQuery
का उपयोग JPQLqueries
obj.createNamedQuery("entity.findbycode",Something.class)
createNativeQuery
देशी/शुद्ध एसक्यूएल प्रश्नों पर अमल किया जाता है:
createNamedQuery
, मैपिंग फ़ाइल या एनोटेशन में नाम के साथ प्रश्नों को परिभाषित करने के उदाहरण प्रयोग किया जाता है।
- 1. जेपीए createNamedQuery
- 2. सिद्धांत: Querybuild बनाम createQuery?
- 3. EntityManager बनाम इंजेक्शन। EntityManagerFactory
- 4. आवेदन बनाम कंटेनर प्रबंधित EntityManager
- 5. जेपीए EntityManager
- 6. जेपीए EntityManager
- 7. जेपीए EntityManager
- 8. जेपीए बनाम ओआरएम बनाम हाइबरनेट?
- 9. जेपीए EntityManager को खोलना खुला है?
- 10. जेपीए JoinColumn बनाम mappedBy
- 11. जेपीए EntityManager केस संवेदनशील कुंजी
- 12. जेपीए EntityManager स्टेटिक या इंस्टेंस?
- 13. CreateQuery
- 14. हाइबरनेट/जेपीए मनीटोन बनाम वनटोनी
- 15. जेपीए इकाइयां और/बनाम डीटीओ
- 16. जेपीए वनटॉनी: सूची बनाम सेट
- 17. कॉल ओरेकल createNativeQuery
- 18. EntityManager सेम
- 19. वसंत + जेपीए + एकाधिक दृढ़ता इकाइयां: EntityManager इंजेक्शन
- 20. जेपीए प्रदाता बनाम स्प्रिंग contaniner विन्यास
- 21. हाइबरनेट/जेपीए - एनोटेटिंग बीन विधियों बनाम फ़ील्ड
- 22. ओआरएम समाधान (जेपीए; हाइबरनेट) बनाम जेडीबीसी
- 23. जेपीए नामांकित क्वेरीज़ बनाम मानदंड एपीआई?
- 24. जावा पर्सिस्टेंस/जेपीए: @ कॉलम बनाम @ बासिक
- 25. वसंत डेटा बाकी बनाम वसंत डेटा जेपीए
- 26. सर्वलेट फ़िल्टर बनाम ServletRequestListener
- 27. EntityManager
- 28. mongoose save vs बनाम बनाम बनाम बनाम
- 29. EntityManager रीफ्रेश
- 30. बनाम बनाम
भयानक उत्तर अपडेट किया। धन्यवाद – Krish
सिवाय इसके कि "एचक्यूएल" जेपीए के साथ कुछ लेना देना नहीं है। जेपीए जेपीक्यूएल का उपयोग करता है –