sql >> Database teknologi >  >> RDS >> PostgreSQL

JPA 2.1 StoredProcedureQuery med PostgreSQL og REF_CURSORs

Kort svar:Vend rækkefølgen af ​​dine to opkald til registerStoredProcedureParameter() :

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

Langt svar:Jeg gravede lidt i Dvalekildekode til Postgress-opkaldbar erklæringssupport , og fandt ud af, at hver registerStoredProcedureParameter() opkaldet opretter en ParameterRegistrationImplementor instans, der bliver sat ind på en liste og sendt rundt. Du vil bemærke, at denne klasse gemmer parameterens position, som er uafhængig af dens position på listen.

Senere er denne liste

  1. Sådan får du information om alle typer data deklareret i en given pakke

  2. Indlæser klasse `com.mysql.jdbc.Driver'. Dette er forældet. Den nye driverklasse er `com.mysql.cj.jdbc.Driver'

  3. Mysql Slow Insert

  4. PostgreSQL:find antallet af på hinanden følgende dage indtil nu