कुछ इस तरह काम करना चाहिए:
// tell the driver you want the generated keys
stmt = c.prepareStatement("INSERT ... ", Statement.RETURN_GENERATED_KEYS);
stmt.executeBatch();
// now retrieve the generated keys
ResultSet rs = stmt.getGeneratedKeys();
while (rs.next()) {
int id = rs.getInt(1);
.. save the id somewhere or update the items list
}
मुझे लगता है (मैं नहीं . हूं ज़रूर!) कि कुंजियाँ उसी क्रम में लौटा दी जाती हैं जिस क्रम में वे उत्पन्न हुई थीं। तो परिणामसेट से पहली पंक्ति को उस सूची से पहले "आइटम" पर मैप करना चाहिए जिसे आप संसाधित कर रहे हैं। लेकिन इसकी पुष्टि जरूर करें!
संपादित करें
यदि वह काम नहीं करता है, तो वास्तविक कॉलम निर्दिष्ट करने का प्रयास करें जिसके लिए मान जेनरेट किए गए हैं:
stmt = c.prepareStatement("INSERT ... ", new String[] {"id"});