PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

JPA 2.1 StoredProcedureQuery z PostgreSQL i REF_CURSORs

Krótka odpowiedź:odwróć kolejność dwóch wywołań registerStoredProcedureParameter() :

storedProcedure.registerStoredProcedureParameter(1, Object.class, ParameterMode.REF_CURSOR);
storedProcedure.registerStoredProcedureParameter(2, String.class, ParameterMode.IN);

Długa odpowiedź:trochę kopałem w Kod źródłowy hibernacji do obsługi wywoływanych instrukcji Postgress i okazało się, że każda registerStoredProcedureParameter() wywołanie tworzy ParameterRegistrationImplementor instancja, która zostaje dołączona do listy i przekazana. Zauważysz, że ta klasa przechowuje pozycję parametru, która jest niezależna od jego pozycji na liście.

Później ta lista to

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd podczas tworzenia sekwencji podczas przywracania bazy danych PostgreSQL

  2. Użyj wyzwalacza Postgres, aby zarejestrować kod JSON tylko zmodyfikowanych pól

  3. Dlaczego ta reguła nie zapobiega naruszeniom zduplikowanych kluczy?

  4. TypeError:nie można uciec od psycopg2.extensions.Binary do pliku binarnego

  5. Procedura składowana Postgresql zwraca wybór zestawu wyników