sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres bytea-fel när null binds till förberedda uttalanden

Efter att inte ha fått någon feedback i form av svar eller ens en kommentar gjorde jag mig redo att ge upp när jag snubblade in på detta utmärkta blogginlägg:

Hur man binder anpassade Hibernate-parametertyper till JPA-frågor

Inlägget ger två alternativ för att kontrollera vilka typer som JPA skickar genom drivrutinen till Postgres (eller vad den underliggande databasen faktiskt är). Jag använde metoden med TypedParameterValue . Så här ser min kod ut och fortsätter med exemplet ovan:

Query query = entityManager.createNativeQuery(sqlString, MyEntity.class);
query.setParameter("param1", new TypedParameterValue(StringType.INSTANCE, null));
query.setParameter("param2", new TypedParameterValue(DoubleType.INSTANCE, null));
List<MyEntity> = query.getResultList();

Naturligtvis är det trivialt att skicka null för varje parametern i frågan, men jag gör detta främst för att visa syntaxen för texten och dubbla kolumner. I praktiken skulle vi förvänta oss att åtminstone några av parametrarna inte är null , men ovanstående syntax hanterar alla värden, null eller på annat sätt.



  1. Har problem med att matcha rader i databasen med PDO

  2. PHP ser inte mysql-tillägget

  3. Flytta till MariaDB Backup

  4. Hur binder man användare till olika organisationer, universitet, företag med olika roller?