sql >> Databasteknik >  >> RDS >> Oracle

Hur använder man en dynamisk parameter i en IN-klausul i en JPA-namnad fråga?

JPA stöder användningen av en samling som en listparameter endast i JPQL-frågor, inte i inbyggda frågor. Vissa JPA-leverantörer stöder det som en proprietär funktion, men det är inte en del av JPA-specifikationen (se https://stackoverflow.com/a/3145275/1285097).

Namngivna parametrar i inbyggda frågor är inte heller en del av JPA-specifikationen. Deras beteende beror på beständighetsleverantören och/eller JDBC-drivrutinen.

Viloläge med JDBC-drivrutinen för Oracle stödjer båda dessa funktioner.

List<String> selectedValues = Arrays.asList("STRING1", "STRING2");
final String parameterizedQuery = "select * from SOMETABLE where SOMEFIELD in (:selectedValues)";
return em.createNativeQuery(parameterizedQuery)
         .setParameter("selectedValues", selectedValues)
         .getResultList();


  1. PHP:Varning:sort() förväntar sig att parameter 1 är array, resurs given

  2. Hur man byter ut en del av en sträng i MySQL

  3. Trunkera alla tabeller i en databas i SQL Server - SQL Server / TSQL Tutorial Del 55

  4. Hur man installerar och säkrar MariaDB 10 i CentOS 6