Thursday, 15 April 2010

java - Enumeration List with IN operator in JPQL -


निम्न में JPQL क्वेरी क्या है?

  SELECT ज से कार्यफ्लोइ इतिहास एच WHERE h.referenceNo =: संदर्भ नहीं और एच। वर्कफ़्लो टास्क इन ('कन्फर्मेशन', 'भुगतान', 'जारी')   

त्रुटि:

 < कोड> अमान्य IN अभिव्यक्ति तर्क [कन्फर्मेशन]   

डायनामिक क्वेरी विधि

  सार्वजनिक सूची & lt; WorkFlowHistory & gt; FindWorkFlowHistoryByRefNo (स्ट्रिंग रिफ नहीं, वर्कफ़्लो टास्क ... वर्कफ़्लो टास्क) {... स्ट्रिंगबफ़र बफर = नया स्ट्रिंगबफर ("सेलेक्ट एचफ़ वर्कफ़्लोइतिहास एच WHERE h.referenceNo =: कोई संदर्भ नहीं"); अगर (वर्कफ़्लो टास्क! = रिक्त और amp; कार्यप्रवाह Tasks.length & gt; 0) {बफर.एपेंड ("और एच। वर्कफ्लो टास्क इन ("); के लिए (इंट आई = 0; आई & lt; वर्कफ़्लोटीस्क। लांघ; i ++) {बफर .append ("'" + कार्यप्रवाह कार्य [i] + "' '); अगर ((i + 1)! = कार्यप्रवाह Tasks.length) {बफर.एपेंड (", ");}} बफर.एपेंड (") ") ; } क्वेरी q = em.createQuery (बफ़र। टू स्ट्रिंग ()); ("अंडरराइटिंग"), सर्वेक्षण ("सर्वेक्षण"), अनुमोदन (" अनुमोदन "), INFORM (" सूचित "), पुष्टि (" पुष्टिकरण "), भुगतान (" भुगतान "), PROPOSAL_REJECT (" प्रस्ताव अस्वीकार "), ISSUING (" जारीकर्ता "); निजी स्ट्रिंग लेबल; निजी कार्यप्रवाह टास्क (स्ट्रिंग लेबल) {this.label = label; } सार्वजनिक स्ट्रिंग getLabel () {वापसी लेबल; मुझे लगता है कि यह समस्या डीबी में आपके एनरम्स के प्रतिनिधित्व में निहित होती है I & nsquo;}    

Ordinal या स्ट्रिंग में कैसे आपके एंपाम मैप किए गए हैं?

आपकी जेपीक्यूएल क्वेरी में पैरामीटर प्लेसहोल्डर के रूप में सबसे बढ़िया होगा:

  सेलेक्ट एच से वर्कफ्लोइतिहास एच WHERE h .referenceNo =: संदर्भ नहीं और एच। वर्कफ़्लो टास्क इन : कार्यप्रवाह कार्य   

और अपनी क्वेरी में पैरामीटर के रूप में जोड़ने से, ऐसा कुछ:

  ... सूची & lt; वर्कफ़्लोटैस्क & gt; वर्कफ़्लो टास्क = Arrays.asList ({वर्कफ़्लो टास्क। कनफर्मेशन, वर्कफ़्लो टास्क। पेमेंट वर्कफ़्लो टास्क। ISSUING}); ... क्वेरी q = em.createQuery (बफ़र। टू स्ट्रिंग ()); Q.addParameter ("कार्यप्रवाह कार्य", वर्कफ़्लो टास्क);   

इस तरह से आपको ये सोचने की ज़रूरत नहीं है कि डीबी में आपकी एन्यूम का प्रतिनिधित्व कैसे किया जाता है।

No comments:

Post a Comment