Como pgJDBC 42.2.5 se lanzó antes (agosto de 2018) del lanzamiento de PostgreSQL 11 (octubre de 2018), creo que actualmente es un problema dentro del controlador JDBC para PostgreSQL. Creé un problema dentro del repositorio de GitHub.
Para solucionarlo, podría volver a escribir el STORED PROCEDURE
como una FUNCTION
y usa @NamedStoredProcedureQuery
o interactuar directamente con JDBC CallableStatement
por ejemplo:
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();
O ejecute una consulta nativa con el EntityManager
:
this.em.createNativeQuery("CALL p_raise_wage_employee_older_than(1, 20)");
Actualizaré esta respuesta tan pronto como obtenga una respuesta del mantenedor de pgJDBC.
ACTUALIZACIÓN:
Este tema ya se trata en la lista de correo de Postgres (https://www.postgresql.org/message-id/4285.1537201440%40sss.pgh.pa.us
) y actualmente no hay solución. La única forma es pasar consultas SQL nativas a la base de datos o reescribir el STORED PROCEDURE
como una FUNCTION