जेपीए में नामित प्रश्न बनाते समय, इन प्रश्नों के नामों के लिए एक स्वीकार्य सर्वोत्तम अभ्यास है (उदाहरण के लिए EntityName.allActive
या findAllActiveFoos
इत्यादि) और यह भी उन वर्गों में इन नामांकित प्रश्नों को घोषित करना अच्छा है वे एक उपयोगिता वर्ग में पूछताछ या सभी एक साथ?NamedQuery: सर्वोत्तम प्रथाओं
उत्तर
नहीं, वहाँ कोई व्यापक रूप से स्वीकार सबसे अच्छा अभ्यास है कि किसी भी जटिल मामलों को शामिल किया गया है। सामान्य रूप से जेपीए के लिए बहुत अधिक स्टाइल गाइड उपलब्ध नहीं हैं। आमतौर पर क्या माना जाता है, और आम तौर पर किताबों में भी प्रयोग किया जाता है, इकाई के नाम से क्वेरी शुरू करना है।
मैं EntityName के लिए जाना होगा संचालन और तर्क के साथ संयुक्त (हठ इकाई में अद्वितीय नामों की गारंटी करने के)।
- Person.findByAge
- Person.findByAgeAndFirstName
- Person.removeByFirstName
- Person.updateSalaryIfYearBornBefore
, विनिर्देश with
बजाय उदाहरण में by
का उपयोग करता है, और नहीं है इकाई के नाम के साथ उपसर्ग क्वेरी। लेकिन यह निश्चित रूप से विनिर्देश है, स्टाइल गाइड नहीं।
मैं इसे अच्छा इन क्वेरी नाम के लिए स्थिरांक की घोषणा और फिर दोनों @ NamedQuery.name और em.createNamedQuery में इन स्थिरांक उपयोग करने के लिए लगता है।
@NamedQuery, @NamedNativeQuery, और @NamedQueries केवल मैप की सुपर क्लास या संस्था के लिए लागू किया जा सकता है, तो आप उन्हें उपयोगिता वर्ग के लिए पता नहीं लगा सकते।
मेरा मानना है कि 'Entity.camelCaseWhatItDoesName' काफी सर्वोत्तम अभ्यास के रूप में योग्यता प्राप्त करता है। पिछली परियोजनाओं में, कई ग्राहकों ने इस शैली को अपनाया है। – Kawu
हालांकि वैश्विक स्तर पर स्वीकार्य सर्वोत्तम अभ्यास प्रतीत नहीं होता है, लेकिन माइक कीथ और मेरिक शिनकारी द्वारा पुस्तक "प्रो जेपीए 2" पुस्तक ठीक से सिफारिश करती है कि मिक्को ने क्या कहा, उदाहरण के लिए यदि आपके पास सभी कर्मचारियों को खोजने के लिए कोई प्रश्न है तो उसे "कर्मचारी.विंडअल" कहें।
इतो जहां इन घोषित करने के लिए, फिर वहाँ मैं क्या देख सकते हैं से कोई वास्तविक सबसे अच्छा अभ्यास है। ऐसा लगता है कि वे एक बड़ी कक्षा (जैसे कि आधार मैपड स्प्लेक्लास जो आपकी सभी संस्थाओं का विस्तार करते हैं) के बजाय स्वयं को इकाई पर घोषित करने का पक्ष लेते हैं, क्योंकि यह बहुत जल्द मोनोलिथिक बन जाएगा और इसे बनाए रखने के लिए थोड़ा मुश्किल हो सकता है। एक और विकल्प उन्हें एक अलग एक्सएमएल फाइल में घोषित करना है, न कि मैं इसकी सिफारिश करूंगा। व्यक्तिगत रूप से मुझे वह दृष्टिकोण पसंद है जहां उन्हें उस संस्था पर घोषित किया जाता है, जिससे वे संबंधित हैं। मैं नाम के लिए स्थिरांक का उपयोग करने के लिए मिको के सुझाव से भी सहमत हूं, आप इन सभी स्थिरांकों को एक अलग वर्ग में परिभाषित कर सकते हैं।
एक तरफ के रूप में, नामित प्रश्नों के लिए अत्यधिक अनुशंसा की जाने वाली एक सर्वोत्तम प्रथा है, पैरामीटर पैरामीटर के विपरीत नामित पैरामीटर का उपयोग करना। इससे प्रश्नों के साथ काम करना बहुत आसान हो जाता है। – brent777
- 1. छवि ऑल्ट सर्वोत्तम प्रथाओं
- 2. एसपीएल Autoloading सर्वोत्तम प्रथाओं
- 3. ओपन VAO सर्वोत्तम प्रथाओं
- 4. नामकरण कुकीज़ - सर्वोत्तम प्रथाओं
- 5. एक्शनलिस्टर सर्वोत्तम प्रथाओं
- 6. सर्वोत्तम प्रथाओं एप्लिकेशन
- 7. शेयरपॉइंट सूची सर्वोत्तम प्रथाओं
- 8. डाटाबेस सर्वोत्तम प्रथाओं
- 9. फ्लेक्स सर्वोत्तम प्रथाओं?
- 10. NAnt सर्वोत्तम प्रथाओं
- 11. PHP सर्वोत्तम प्रथाओं?
- 12. कार्य रद्दीकरण सर्वोत्तम प्रथाओं
- 13. फ्रैगमेंट सर्वोत्तम प्रथाओं
- 14. सीएसएस रूपरेखा सर्वोत्तम प्रथाओं
- 15. HttpRuntime.Cache सर्वोत्तम प्रथाओं
- 16. विंडोज रजिस्ट्री सर्वोत्तम प्रथाओं
- 17. आईओएस Prefix.pch सर्वोत्तम प्रथाओं
- 18. फॉर्म स्टाइलिंग सर्वोत्तम प्रथाओं
- 19. निरंतर एकीकरण - सर्वोत्तम प्रथाओं
- 20. MATLAB प्रोग्रामिंग सर्वोत्तम प्रथाओं
- 21. MySQL प्रतिकृति सर्वोत्तम प्रथाओं
- 22. क्रूज़ कंट्रोल.Net सर्वोत्तम प्रथाओं
- 23. कैशिंग सर्वोत्तम प्रथाओं
- 24. सर्वोत्तम प्रथाओं - NSManagedObjectContextObjectsDidChangeNotification आईओएस
- 25. फ़ायरफ़ॉक्स एक्सटेंशन - सर्वोत्तम प्रथाओं
- 26. असिंक्रोनस वेबरेक्वेस्ट सर्वोत्तम प्रथाओं
- 27. रेडमाइन सर्वोत्तम प्रथाओं
- 28. डाटाबेस परिनियोजन सर्वोत्तम प्रथाओं
- 29. जीडब्ल्यूटी समग्र सर्वोत्तम प्रथाओं
- 30. कोरडाटा सर्वोत्तम प्रथाओं
संबंधित उत्तर: http://stackoverflow.com/a/4948333/1725096 –