PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पोस्टग्रेएसक्यूएल की 11 संग्रहीत प्रक्रिया को हाइबरनेट के साथ कॉल नहीं कर सकता

चूंकि pgJDBC 42.2.5 PostgreSQL 11 रिलीज़ (अक्टूबर, 2018) से पहले (अगस्त, 2018) जारी किया गया था, मुझे लगता है कि यह वर्तमान में PostgreSQL के लिए JDBC ड्राइवर के भीतर एक समस्या है। मैंने एक मुद्दा बनाया है GitHub रिपॉजिटरी के भीतर।

समाधान के लिए, आप STORED PROCEDURE . को फिर से लिख सकते हैं एक FUNCTION . के रूप में और @NamedStoredProcedureQuery . का उपयोग करें या सीधे JDBC के साथ इंटरैक्ट करें CallableStatement उदा.:

Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/", "postgres", "postgres");

CallableStatement callableStatement = conn.prepareCall("{call f_raise_wage_employee_older_than(?,?)}");
callableStatement.setInt(1, 20);
callableStatement.setInt(2, 500);
callableStatement.executeUpdate();

या EntityManager . के साथ नेटिव क्वेरी निष्पादित करें :

this.em.createNativeQuery("CALL p_raise_wage_employee_older_than(1, 20)");

जैसे ही मुझे pgJDBC अनुरक्षक से उत्तर मिलेगा, मैं इस उत्तर को अपडेट कर दूंगा।

अद्यतन करें:

पोस्टग्रेज मेलिंग सूची में इस विषय पर पहले ही चर्चा की जा चुकी है (https://www.postgresql.org/message-id/4285.1537201440%40sss.pgh.pa.us ) और वर्तमान में कोई समाधान नहीं है। डेटाबेस में मूल SQL क्वेरी पास करने या STORED PROCEDURE को फिर से लिखने का एकमात्र तरीका है एक FUNCTION . के रूप में



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy के माध्यम से Postgresql के साथ कई कथनों को निष्पादित करना परिवर्तन जारी नहीं रखता है

  2. विंडोज़ पर shp2pgsql.exe का उपयोग करते हुए एक PostgreSQL/PostGIS डेटाबेस में एक आकृति फ़ाइल में प्रवेश करने के लिए पायथन लिपियों

  3. PostgreSQL:.psql_history से /dev/null

  4. Docker पर PostgreSQL:`plpython3u` के तहत अजगर निर्भरता को कैसे स्थापित और चलाएं?

  5. डेटाबेस प्रदर्शन:कॉलम बनाम अलग तालिका पर फ़िल्टरिंग