2012-11-08 13 views
6

पर फ़ील्ड का चयन करना मैं स्प्रिंग डेटा (मैं जेपीए का उपयोग कर रहा हूं) का उपयोग कर किसी इकाई के केवल कुछ फ़ील्ड का चयन करने के तरीके के बारे में जानकारी ढूंढने की कोशिश कर रहा हूं। मैं किसी इकाई की केवल विशिष्ट जानकारी चुनना चाहता हूं, रिपोजिटरी इंटरफेस आपको पूरी इकाई की जानकारी वापस करने के तरीके देता है! कुछ बार मुझे केवल एक इकाई के 2 या 3 फ़ील्ड की आवश्यकता होती है और 20,30 लौटती है, ... 100 .. फ़ील्ड थोड़ा अधिक हो सकता है।स्प्रिंग डेटा

इस तरह की कार्यक्षमता कुछ है जो मैं हाइबरनेट मानदंड अनुमानों, या यहां तक ​​कि जेपीए "चयन नया ...." प्रश्नों का उपयोग करके करता हूं। पता नहीं है कि वसंत डेटा के साथ यह संभव है या नहीं।

धन्यवाद।

+0

जैसी क्वेरी लिखने ऐसा लगता है कि यह अभी तक संभव नहीं है। समस्या ट्रैकर की जांच, मुझे यह मिला। [DATAJPA-51] (https://jira.springsource.org/browse/DATAJPA-51)। – yagamipaul

+0

बस क्वेरी बनाएं, इसे '@ क्वेरी' एनोटेशन में थप्पड़ मारें और अपना कोड चलाएं। यह अभी भी काम करना चाहिए ... –

उत्तर

3

आप क्या कर सकते हैं भंडार से List<Object[]> वापस कर सकते हैं। फिर अपनी सेवा कक्षा में इस सूची में पुनरावृत्ति करें और मैन्युअल रूप से जिस वस्तु को आप चाहते हैं उसे बनाएं। नमूना भंडार विधि

@Query("select el.moduleId, el.threadId from ExceptionLog el") 
public List<Object[]> tempQuery(); 
2

मुझे लगता है कि आप इसे इस तरह

SomeDataPOJO{ 
    required col1 
    required col2 
} 

में भी कर सकते हैं और फिर इस

@Query("select new SomeDataPOJO from requiredTable where xyz="abc") 
public List<SomeDataPoJO> tempQuery() 
संबंधित मुद्दे