Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để sử dụng một tham số động trong mệnh đề IN của truy vấn có tên JPA?

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm WIDTH_BUCKET () trong Oracle

  2. cách tạo một thủ tục được lưu trữ trong oracle chấp nhận mảng tham số

  3. Thêm chỉ báo thứ tự cho một ngày trong Oracle

  4. Oracle REGEXP_LIKE và ranh giới từ

  5. Lặp lại các hàng dựa trên giá trị cột trong mỗi hàng