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

Błąd Postgres bytea podczas wiązania wartości null z przygotowanymi instrukcjami

Nie otrzymawszy żadnych informacji zwrotnych w postaci odpowiedzi ani nawet komentarza, szykowałem się do rezygnacji, kiedy natknąłem się na ten doskonały wpis na blogu:

Jak powiązać niestandardowe typy parametrów Hibernate z zapytaniami JPA

Post daje dwie opcje kontrolowania typów, które JPA przekazuje przez sterownik do Postgresa (lub czymkolwiek jest bazowa baza danych). Poszedłem z podejściem za pomocą TypedParameterValue . Oto jak wygląda mój kod, kontynuując przykład podany powyżej:

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

Oczywiście trywialne jest przekazanie null dla każdego parametr w zapytaniu, ale robię to głównie po to, aby pokazać składnię dla tekstu i podwójnych kolumn. W praktyce spodziewalibyśmy się, że przynajmniej kilka parametrów nie będzie null , ale powyższa składnia obsługuje wszystkie wartości, null lub inne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zarejestruj się i uruchom PostgreSQL 9.0 jako usługę Windows

  2. flyway nie może połączyć się z kontenerem postgres w skrypcie docker-entrypoint-initdb.d

  3. Zainstaluj PostgreSQL na Ubuntu 18.04

  4. Użyj typu Point z PostgreSQL i JPA/Hibernate

  5. Jak usunąć wartość typu enum w postgresie?