PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

देशी क्वेरी के साथ स्प्रिंग बूट क्वेरी एनोटेशन Postgresql में काम नहीं करता है

ठीक है, मैं अपने लिए यह काम करने की कोशिश में वास्तव में लंबा समय बिताता हूं, लेकिन आखिरकार मुझे यह मिल गया। भविष्य के साहसी लोगों और समुदाय को भी इसे जानने दें।

मेरे लिए जो काम किया वह ए.एच. द्वारा यहां प्रस्तुत इंटरवल के लिए कास्टिंग था:

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

आपका समाधान तब कुछ ऐसा होगा (जब दूसरी क्वेरी का विश्लेषण किया जाता है):

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

या तीसरी क्वेरी के लिए (जिस तरह से मैंने इसे अपने मामले में काम किया है)

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

कृपया भागने पर ध्यान दें :: हो जाता है \\:\\: . अपने शुद्ध SQL में जिसका आप अपने SQL संपादक में परीक्षण करेंगे :: . का उपयोग करें , लेकिन आपके रिपॉजिटरी कोड में @Query . के भीतर इन कास्टिंग संकेतों से बचने की जरूरत है (अन्यथा आपका हाइबरनेट/जेपीए नाराज हो जाएगा)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे जांचें कि PostgreSQL में ट्रिगर मौजूद है या नहीं?

  2. पायथन पोस्टग्रेज psycopg2 थ्रेडेडकनेक्शनपूल समाप्त हो गया

  3. मांग पर पोस्टग्रेएसक्यूएल अनामीकरण

  4. समय अंतराल के साथ सीटीई पर धीरे-धीरे बाएं शामिल हों

  5. PostgreSQL में अल्पविराम से अलग की गई सूची के रूप में क्वेरी परिणाम कैसे लौटाएं