Тъй като pgJDBC 42.2.5 беше пуснат преди (август 2018 г.) до версията PostgreSQL 11 (октомври 2018 г.), мисля, че в момента това е проблем в JDBC драйвера за самия PostgreSQL. Създадох проблем в хранилището на 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.
АКТУАЛИЗАЦИЯ:
Тази тема вече се обсъжда в пощенския списък на Postgres (https://www.postgresql.org/message-id/4285.1537201440%40sss.pgh.pa.us
) и в момента няма решение. Единственият начин е да подадете естествени SQL заявки към базата данни или да пренапишете STORED PROCEDURE
като FUNCTION