SELCT ... FOR UPDATE
केवल एक प्रबंधित लेनदेन के संदर्भ में समझ में आता है, क्योंकि इसके लिए चयनित पंक्तियों पर ताले निकालने की आवश्यकता होती है।
डिफ़ॉल्ट रूप से, JDBC एक प्रबंधित लेनदेन का उपयोग नहीं करता है, यह एक अंतर्निहित रूप से बनाए गए लेनदेन का उपयोग करता है जो क्वेरी के निष्पादित होते ही प्रतिबद्ध हो जाता है। यह SELECT ... FOR UPDATE
. के शब्दार्थ को तोड़ देगा , और JDBC ड्राइवर शिकायत करता है।
प्रबंधित लेन-देन का उपयोग करने के लिए, जोड़ें
connection.setAutoCommit(false);
क्वेरी निष्पादित करने से पहले। बाद में, connection.commit()
निष्पादित करें ।