Poiché pgJDBC 42.2.5 è stato rilasciato prima (agosto 2018) della versione PostgreSQL 11 (ottobre 2018), penso che questo sia attualmente un problema all'interno del driver JDBC per PostgreSQL stesso. Ho creato un problema all'interno del repository GitHub.
Per una soluzione alternativa, puoi riscrivere la STORED PROCEDURE
come FUNCTION
e usa @NamedStoredProcedureQuery
oppure interagisci direttamente con il CallableStatement
di JDBC es.:
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();
Oppure esegui una query nativa con EntityManager
:
this.em.createNativeQuery("CALL p_raise_wage_employee_older_than(1, 20)");
Aggiornerò questa risposta non appena riceverò una risposta dal manutentore di pgJDBC.
AGGIORNAMENTO:
Questo argomento è già discusso nella mailing list di Postgres (https://www.postgresql.org/message-id/4285.1537201440%40sss.pgh.pa.us
) e attualmente non esiste una soluzione. L'unico modo è passare le query SQL native al database o riscrivere la STORED PROCEDURE
come FUNCTION