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

स्प्रिंग डेटा जेपीए + हाइबरनेट बंद पंक्तियों को छोड़ें (PostgreSQL)

आपका कोड ठीक है। आपको बस इतना याद रखना है कि PESSIMISTIC_WRITE एक चुनें … Oracle और PostgreSQL 9.5 . में . मुझे लगता है कि आप जेपीए को बताने के बारे में भूल गए होंगे, कि आप पोस्टग्रेस के नए संस्करण का उपयोग करना चाहते हैं। तो आपके पास दो विकल्प हैं:

  • जेपीए को बताएं कि आप पोस्टग्रेएसक्यूएल बोली का उपयोग कर रहे हैं जो स्किप लॉक का समर्थन करता है :
    spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL10Dialect
    
    इसके बाद मुझे वांछित आउटपुट प्राप्त हुआ:
    where
        subscripti0_.valid_until<=? 
    and subscripti0_.status='ACTIVE' 
    for update of subscripti0_1_ skip locked
    
    और जाहिर है, लेन-देन पूरा होने तक समवर्ती धागा बंद पंक्तियों को लाने में सक्षम नहीं था।
  • मूल क्वेरी का उपयोग करें:
    SELECT * FROM objects o WHERE o.valid_until <= :validUntil FOR UPDATE SKIP LOCKED 
    


  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 सरणी को PHP सरणी में बदलें

  2. PostgreSQL स्कीमा प्रबंधन मूल बातें

  3. जेपीए और हाइबरनेट के साथ पोस्टग्रेएसक्यूएल एनम को कैसे मैप करें?

  4. अद्यतन करने योग्य दृश्यों के लिए CHECK क्लॉज

  5. पोस्टग्रेएसक्यूएल डिजास्टर रिकवरी के लिए बर्मन का उपयोग करना