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

Chú thích của Spring Boot Query với nativeQuery không hoạt động trong Postgresql

Được rồi, tôi đã dành rất nhiều thời gian để cố gắng làm cho công việc này phù hợp với tôi, NHƯNG CUỐI CÙNG TÔI ĐÃ LÀM ĐƯỢC. Hãy cho những nhà thám hiểm tương lai và cộng đồng biết điều đó.

Những gì hiệu quả với tôi là truyền đến khoảng thời gian được A.H. trình bày tại đây:

select current_timestamp + ( 2 || ' days')::interval;

Giải pháp của bạn sau đó sẽ giống như vậy (khi truy vấn thứ 2 được phân tích):

@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( :interval )\\:\\:interval ", nativeQuery = true)

Hoặc đối với truy vấn thứ 3 (chính xác là cách tôi đã làm cho nó hoạt động trong trường hợp của tôi)

@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( ?1 )\\:\\:interval", nativeQuery = true)

Vui lòng lưu ý thoát :: trở thành \\:\\: . Trong SQL thuần túy mà bạn sẽ kiểm tra trong trình soạn thảo SQL của mình, hãy sử dụng :: , nhưng trong mã kho lưu trữ của bạn trong @Query những dấu hiệu truyền này cần phải được loại bỏ (nếu không Hibernate / JPA của bạn sẽ không hài lòng).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kích hoạt kích hoạt khi cập nhật cộtA hoặc CộtB hoặc CộtC

  2. Sự khác biệt giữa ngôn ngữ sql và ngôn ngữ plpgsql trong các hàm PostgreSQL

  3. Bảng lừa cấu hình PostgreSQL

  4. Làm cách nào để sử dụng trình kích hoạt PostgreSQL để lưu trữ các thay đổi (câu lệnh SQL và thay đổi hàng)

  5. Postgres là cơ sở dữ liệu tuyệt vời nhất - Lý do thứ 2:Giấy phép