मेरे पास एक जावा ऑब्जेक्ट व्यक्ति
है जिसमें 3 गुण firstname
, < कोड> अंतिम नाम और उपयोगकर्ता नाम
।
मेरे पास एक ऑरेकल संग्रहित प्रक्रिया है जिसके परिणामस्वरूप 3 कॉलम के साथ सेट किया गया है।
अब मेरे पास एक और संग्रहीत कार्यविधि है जो केवल प्रथम नाम और अंतिम नाम ही लौटाएगी, लेकिन उपयोगकर्ता नाम नहीं।
मुझे निम्न त्रुटि मिलती है:
परिणाम सेट यूज़रनेम से कॉलम मूल्य नहीं पढ़ा जा सकता
सीतनिद्रा में होना परिणामसेट से उपयोगकर्ता नाम लाने की कोशिश करता है। अगर मैं संपत्ति के उपयोगकर्ता नाम को निकालता हूं, तो यह काम करता है
मेरी कॉन्फ़िग:
& lt; sql- क्वेरी नाम = "सामान्य" callable = "true" & gt; & Lt; वापसी alias = "val" class = "com.nbfg.sipc.model.Person" & gt; & Lt; वापसी-संपत्ति नाम = "प्रथम नाम" स्तंभ = "FIRST_NAME" / & gt; & Lt; वापसी-संपत्ति नाम = "अंतिम नाम" स्तंभ = "LASTNAME_NAME" / & gt; & Lt; / वापसी & gt; {कॉल SCHSIPC.PKG_SIPC_APP.PRC_SIPC_NORMALISE_RS (?,?,?,?,?)} & Lt; / sql-query & gt;
मेरा पोओ (कोई टिप्पणी नहीं)
<पूर्व> @ एंटीटी सार्वजनिक वर्ग व्यक्ति {निजी स्ट्रिंग प्रथमनाम; निजी स्ट्रिंग अंतिम नाम; निजी स्ट्रिंग उपयोगकर्ता नाम; ...
कॉल:
प्राइवेट वैल्यू कॉल (स्ट्रिंग ऐप, स्ट्रिंग बिल्ली, स्ट्रिंग कॉल, स्ट्रिंग वेलैयर, स्ट्रिंग क्वेरी) {try {query} Q = getSessionFactory ()। OpenStatelessSession ()। GetNamedQuery (क्वेरी); Q.setString (0, ऐप) .setString (1, बिल्ली) .setString (2, col) .setString (3, valeure); वापसी (व्यक्ति) q.list ()। Get (0); } पकड़ (org.hibernate.QueryTimeoutException पूर्व) {नई गैरकानूनीअर्जमेंट निष्कर्ष निकालना (ex.getcause ()। GetMessage ()); }}
अगर मैं संपत्ति को उपयोगकर्ता नाम
को मेरे पॉओ से निकाल देता है तो यह सब ठीक काम करता है I मैं एक ही पोजो का पुन: उपयोग कर सकता हूं?
धन्यवाद
धन्यवाद कोड। मैं इस पर 100% निश्चित नहीं हूं, लेकिन मेरा मानना है कि सीतनिद्रा में होना एसक्यूएल प्रश्नों के साथ ऑब्जेक्ट के सभी फ़ील्ड्स को वापस करना चाहिए जो आप को इन्स्तांत करने के लिए चाहते हैं।
एक वैकल्पिक समाधान जो आप कोशिश कर सकते हैं, उसे HQL पर भरोसा करना और आवश्यक वस्तु को तत्काल रूप देना है। उदाहरण के लिए, व्यक्ति पी से पीडीएफ के नाम से नया व्यक्ति (प्रथम नाम, अंतिम नाम) जहां p.username = ... यह वास्तव में आप अपने प्रश्नों में किसी भी प्रकार (मेल प्रकार के प्रकार के साथ) का उपयोग करने की अनुमति देता है।
यह आपकी तत्काल समस्या का समाधान करेगा, लेकिन मुझे यकीन नहीं है कि इस परिदृश्य में संग्रहित प्रक्रियाओं के उपयोग को कैसे निपटाना है। उम्मीद है की यह मदद करेगा।
Comments
Post a Comment