JPA hỗ trợ việc sử dụng tập hợp dưới dạng tham số chữ của danh sách chỉ trong các truy vấn JPQL, không phải trong các truy vấn gốc. Một số nhà cung cấp JPA hỗ trợ nó như một tính năng độc quyền, nhưng nó không phải là một phần của đặc tả JPA (xem https://stackoverflow.com/a/3145275/1285097).
Các tham số được đặt tên trong các truy vấn gốc cũng không phải là một phần của đặc tả JPA. Hành vi của họ phụ thuộc vào nhà cung cấp độ bền và / hoặc trình điều khiển JDBC.
Ngủ đông với trình điều khiển JDBC cho Oracle hỗ trợ cả hai tính năng này.
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();