स्प्रिंग ढांचे लोगों इस समस्या का attempted a solution। लेकिन उन्होंने यह प्रयास छोड़ दिया जब यह स्पष्ट हो गया कि गारंटी देने का कोई तरीका नहीं है कि समाधान सभी जेडीबीसी ड्राइवर्स के साथ काम करेगा। ऐसा इसलिए है क्योंकि जेडीबीसी स्पेक गारंटी नहीं देता है कि बैच अपडेट के बाद जेनरेट की गई कुंजी उपलब्ध कराई जाएगी। जेडीबीसी ड्राइवर इस सुविधा को लागू करने के लिए स्वतंत्र हैं क्योंकि वे फिट देखते हैं। कुछ मामलों में अंतर्निहित डेटाबेस जेनरेट की गई कुंजी को वापस नहीं लौटा सकता है जिससे ड्राइवर इस सुविधा का समर्थन करने के लिए असंभव बना देता है।
तो भले ही आप सीधे JDBC के साथ काम कर रहे हैं, तो आप कि क्या आपके डेटाबेस और JDBC ड्राइवर उत्पन्न कुंजी उपलब्ध बनाता जाँच करने के लिए की आवश्यकता होगी।
मुझे याद है कि मैं इसे कुछ प्रयासों के साथ MySQL 5.0 जेडीबीसी ड्राइवर के साथ प्राप्त करने में सक्षम था लेकिन हमारे उत्पादन अनुप्रयोग में समाधान को कभी भी एकीकृत नहीं किया क्योंकि हमें MySQL के पुराने संस्करणों का भी समर्थन करना था।
स्रोत
2011-07-03 08:22:54
मुझे आपका प्रश्न मिला क्योंकि मैं वही काम करने के लिए देख रहा हूं, लेकिन स्प्रिंग बैचअपडेट एक बैचपेरेडस्टेटमेंटसेटर लेता है और मैं यह नहीं समझ सकता कि जेनरेट की गई कुंजी को कैसे वापस लाया जाए। किसी भी तरह आप स्वयं इस वसंत jdbcTemplate कार्यों के साथ JDBC addBatch कार्यप्रणाली की सहायता का उपयोग कर क्या करना है, तो मैं सोच रहा हूँ। क्या आपको अपने प्रश्न का उत्तर मिला? – titania424