पुनर्प्राप्त करना स्प्रिंग डेटा जेपीए ग्रुप BY क्वेरीज़ से कस्टम ऑब्जेक्ट के रूप में डेटा डेटा प्रस्तुति को बढ़ाता है और आगे की प्रक्रिया को सरल बनाता है। यह मार्गदर्शिका बताती है कि इसे कैसे प्राप्त किया जाए, JPQL और मूल क्वेरीज़ दोनों के लिए समाधान प्रदर्शित किए जाएं।
JPA विनिर्देश के भीतर JPQL क्वेरीज़ मूल पेशकश करती हैं कस्टम ऑब्जेक्ट लौटाने के लिए समर्थन।
एक सरल परिभाषित करें वांछित आउटपुट संरचना का प्रतिनिधित्व करने के लिए बीन क्लास:
public class SurveyAnswerStatistics {
private String answer;
private Long cnt;
// Constructor
}
कस्टम बीन के इंस्टेंस वापस करने के लिए रिपॉजिटरी विधि को अपडेट करें:
public interface SurveyRepository extends CrudRepository {
@Query("SELECT new com.path.to.SurveyAnswerStatistics(v.answer, COUNT(v)) FROM Survey v GROUP BY v.answer")
List findSurveyCount();
}
हालांकि मूल प्रश्नों में नए कीवर्ड के लिए प्रत्यक्ष समर्थन की कमी है, स्प्रिंग डेटा प्रोजेक्शन इंटरफेस एक वैकल्पिक समाधान प्रदान करते हैं:
वांछित गुणों के साथ एक प्रोजेक्शन इंटरफ़ेस बनाएं आउटपुट:
public interface SurveyAnswerStatistics {
String getAnswer();
int getCnt();
}
परिणाम फ़ील्ड को प्रक्षेपण गुणों में निर्बाध रूप से मैप करने के लिए SQL AS कीवर्ड का उपयोग करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3