sql >> Database >  >> RDS >> PostgreSQL

Postgres bytea-fout bij het binden van null aan voorbereide instructies

Omdat ik geen feedback had gekregen in de vorm van antwoorden of zelfs maar een opmerking, stond ik op het punt het op te geven toen ik deze uitstekende blogpost tegenkwam:

Aangepaste slaapstand-parametertypen binden aan JPA-query's

De post geeft twee opties voor het regelen van de typen die JPA door de driver naar Postgres (of wat de onderliggende database ook is) doorgeeft. Ik ging voor de aanpak met behulp van TypedParameterValue . Dit is hoe mijn code eruitziet door verder te gaan met het bovenstaande voorbeeld:

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

Het is natuurlijk triviaal om null door te geven voor elke parameter in de query, maar ik doe dit voornamelijk om de syntaxis voor de tekst en dubbele kolommen te tonen. In de praktijk zouden we verwachten dat ten minste enkele van de parameters niet null . zijn , maar de bovenstaande syntaxis behandelt alle waarden, null of anderszins.



  1. Oracle-reeks maar dan in MS SQL Server

  2. PDF-rapporten maken met PL/SQL

  3. php singleton-databaseverbinding, is deze code een slechte gewoonte?

  4. Python, mysql.connector-fout:geen resultaat ingesteld om op te halen van; cgitb laat zien dat de juiste waarde wordt doorgegeven aan functie