Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да използвам динамичен параметър в IN клауза на JPA именувана заявка?

JPA поддържа използването на колекция като параметър на литерален списък само в JPQL заявки, а не в собствени заявки. Някои доставчици на JPA го поддържат като собствена функция, но не е част от спецификацията на JPA (вижте https://stackoverflow.com/a/3145275/1285097).

Наименуваните параметри в собствените заявки също не са част от спецификацията на JPA. Тяхното поведение зависи от доставчика на постоянство и/или JDBC драйвера.

Хибернация с JDBC драйвер за Oracle поддържа и двете функции.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. какво е oracle EBS R12

  2. Ключовата дума FROM не е намерена там, където се очаква (Oracle SQL)

  3. Oracle - ORA-06502:PL/SQL:числова или стойностна грешка (DBMS_OUTPUT)

  4. Инсталирайте Oracle Database Client стъпка по стъпка

  5. Вътрешно присъединяване срещу Къде