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

Postgres bytea-fejl ved binding af null til forberedte udsagn

Da jeg ikke havde modtaget nogen feedback i form af svar eller engang en kommentar, var jeg klar til at give op, da jeg faldt over dette fremragende blogindlæg:

Sådan binder du tilpassede Hibernate-parametertyper til JPA-forespørgsler

Indlægget giver to muligheder for at kontrollere de typer, som JPA sender gennem driveren til Postgres (eller hvad den underliggende database faktisk er). Jeg fulgte fremgangsmåden ved at bruge TypedParameterValue . Her er, hvordan min kode ser ud, fortsætter med eksemplet ovenfor:

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();

Selvfølgelig er det trivielt at sende null for hver parameter i forespørgslen, men jeg gør dette hovedsageligt for at vise syntaksen for teksten og dobbeltkolonner. I praksis ville vi forvente, at mindst et par af parametrene ikke er null , men ovenstående syntaks håndterer alle værdier, null eller på anden måde.



  1. UDSKIFT rækker i mysql database tabel med pandas DataFrame

  2. MySQL/MariaDB:Opret en pivottabelvisning

  3. Hvad er formålet med systemtabel master..spt_values, og hvad er betydningen af ​​dets værdier?

  4. Hvordan designer jeg en tabel, som gemmer meget store data?