2015-11-13 4 views
6
public interface UserRepository extends JpaRepository<User, Long> { 

    @Query(value = "SELECT * FROM USERS WHERE EMAIL_ADDRESS = ?0", nativeQuery = true) 
    User findByEmailAddress(String emailAddress); 
} 

मान लें कि मेरे पास ऊपर कोड है जहां मैं उपयोगकर्ता से * चुनता हूं। अगर मैं इस विधि को उपयोगकर्ता ऑब्जेक्ट को वापस नहीं करना चाहता हूं तो मुझे क्या करना चाहिए। क्या कोई तरीका है कि मैं डेटा को मैन्युअल रूप से किसी कस्टम ऑब्जेक्ट MyUser पर मैप कर सकता हूं? क्या मैं इसे UserRepository इंटरफ़ेस में कर सकता हूं?स्प्रिंगडाटाजेपीए: मूल क्वेरी के साथ कस्टम डेटा मैपिंग

धन्यवाद!

+0

आप वसंत सुरक्षा को सही तरीके से कॉन्फ़िगर कर रहे हैं? आपको JPARepsoitory का विस्तार करने की आवश्यकता नहीं है, आप अपने सुपर प्रकार का उपयोग कर सकते हैं और केवल एक भंडार बना सकते हैं जो कच्चे जेडीबीसी या जो भी हो। JPARepository स्प्रिंग के साथ जेपीए दृढ़ता को स्थापित करने के बारे में जानता है। यदि आप कच्चे जेडीबीसी का उपयोग करते हैं तो आपको डीबी कनेक्शन के साथ अपने बीन को कॉन्फ़िगर करना होगा। यदि आप जेपीए जानते हैं तो सुनिश्चित करें कि आप मूल्य वस्तुओं में प्रश्नों को मैप करने के लिए जेपीए को कॉन्फ़िगर कर सकते हैं या कस्टम टेबल क्लास पदानुक्रम को उपयोगकर्ता टेबल के सेट पर मैप कर सकते हैं, स्प्रिंग ऑब्जेक्ट को कॉन्फ़िगर करने और इंटरफेस का उपयोग करने के बारे में है जो आप केवल इंटरफेस को लागू करते हैं और स्प्रिंग वायर उन्हें ऊपर ले जाते हैं । – simbo1905

उत्तर

12

आप इस

@Query(value = "SELECT YOUR Column1, ColumnN FROM USERS WHERE EMAIL_ADDRESS = ?0", nativeQuery = true) 
List<Object[]> findByEmailAddress(String emailAddress); 

आप मानचित्रण क्या करना है की तरह कुछ कर सकते हैं। वसंत डेटा रिपोजिटरी पर भी एक नज़र डालें। Source

+1

बड़ा धन्यवाद! यह मेरा दिन बचाया! – topcan5

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