Da pgJDBC 42.2.5 vor (August 2018) der PostgreSQL 11-Version (Oktober 2018) veröffentlicht wurde, denke ich, dass dies derzeit ein Problem innerhalb des JDBC-Treibers für PostgreSQL selbst ist. Ich habe ein Problem erstellt im GitHub-Repository.
Als Problemumgehung könnten Sie die STORED PROCEDURE
umschreiben als FUNCTION
und verwenden Sie @NamedStoredProcedureQuery
oder direkt mit dem JDBC CallableStatement
interagieren zB:
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();
Oder führen Sie eine native Abfrage mit dem EntityManager
aus :
this.em.createNativeQuery("CALL p_raise_wage_employee_older_than(1, 20)");
Ich werde diese Antwort aktualisieren, sobald ich eine Antwort vom pgJDBC-Betreuer erhalte.
AKTUALISIERUNG:
Dieses Thema wird bereits in der Postgres-Mailingliste (https://www.postgresql.org/message-id/4285.1537201440%40sss.pgh.pa.us
) und es gibt derzeit keine Lösung. Die einzige Möglichkeit besteht darin, native SQL-Abfragen an die Datenbank zu übergeben oder die STORED PROCEDURE
neu zu schreiben als FUNCTION