मेरा प्रश्न Getting the return value of a PL/SQL function via Hibernateरिटर्न पैरामीटर के साथ हाइबरनेट से ओरेकल फ़ंक्शन को कैसे कॉल करें?
मेरे पास एक ऐसा फ़ंक्शन है जो आंतरिक रूप से कुछ संशोधन करता है और यह एक मूल्य देता है।
protected Integer checkXXX(Long id, Long transId)
throws Exception {
final String sql = "SELECT MYSCHEMA.MYFUNC(" + id + ", "
+ transId + ") FROM DUAL";
final BigDecimal nr = (BigDecimal) this.getHibernateTemplate()
.getSessionFactory().getCurrentSession().createSQLQuery(sql)
.uniqueResult();
return nr.intValue();
}
दुर्भाग्य से इस Oracle के साथ काम नहीं करता है:
मूल विचार इस तरह कुछ करने के लिए किया गया था। ऐसा कुछ करने का अनुशंसित तरीका क्या है?
क्या मेरे कथन के भीतर से घोषित चर निकालने का कोई तरीका है?
क्या आप एक उदाहरण प्रदान करना चाहते हैं? मैं थोड़ा सा खो गया हूं कि समारोह से परिणाम कैसे प्राप्त करें। क्या मुझे आउट पैरामीटर का उपयोग करने की ज़रूरत है? – Mauli
मैंने ऊपर एक उदाहरण प्रदान किया है। आपके फ़ंक्शन/संग्रहीत प्रक्रिया के आधार पर आपको अन्य readyocation फॉर्म को 'readyCall()' के बजाय उपयोग करने की आवश्यकता हो सकती है - CallableStatement दस्तावेज़ दोनों का वर्णन करता है। – ChssPly76
@ ChssPly76: मैं कभी भी 'डूवर्क (..)' के बारे में कभी नहीं जानता था, जो कि हाइबरनेट के '@ नामांकित नेटवर्क्चर' से काफी बेहतर है, जिसके लिए पहले पैरामीटर (आउट पैरामीटर) के रूप में एक रिफ्रसर को वापस करने के लिए स्पोक/फ़ंक्शन की आवश्यकता होती है। –