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

Powiąż parametr tablicy z natywnym zapytaniem

Pomiń array[...] z twojego SQL:

WHERE CAST(:commoditySpecIds AS BIGINT[])

a następnie przekaż listę identyfikatorów jako ciąg znaków, który wygląda tak:

"{1,2,3,4}"

Domyślna funkcja toString() dla List zwykle zwraca coś takiego:"[1,2,3]" , więc możesz zrobić coś takiego:

String literal = commoditySpecsIds.toString();
literal = "{" + literal.substring(1,literal.length() - 1) + "};

a następnie przekaż to swojej warstwie zaciemniającej:

setParameter("commoditySpecIds", literal)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dodać liczbę dni roboczych do podanej daty?

  2. Co dokładnie robi pg_escape_string?

  3. BŁĄD PostgreSQL:funkcja to_tsvector (znak zmienny, nieznany) nie istnieje

  4. Multi-DC PostgreSQL:konfigurowanie węzła gotowości w innej lokalizacji geograficznej za pośrednictwem sieci VPN

  5. Wielokrotne wywołanie funkcji zwracającej zestaw z argumentem tablicowym