मैं iBatis/Java और Postgres 8.3 का उपयोग कर रहा हूं। जब मैं ibatis में कोई सम्मिलित करता हूं तो मुझे आईडी वापस लौटने की आवश्यकता होती है।
मैं मेरे सवाल का वर्णन करने के लिए निम्न तालिका का उपयोग करें:
CREATE TABLE sometable (id serial NOT NULL, somefield VARCHAR(10));
अनुक्रम sometable_id_seq
बयान बनाने चलाकर ऑटोजनरेटेड हो जाता है।इबेटिस (वापसी कीवर्ड के साथ) के साथ सम्मिलन पर आईडी कैसे लौटाएं
पल मैं निम्नलिखित एसक्यूएल मानचित्र का उपयोग पर:
<insert id="insertValue" parameterClass="string" >
INSERT INTO sometable (somefield) VALUES (#value#);
<selectKey keyProperty="id" resultClass="int">
SELECT last_value AS id FROM sometable_id_seq
</selectKey>
</insert>
ऐसा लगता है इस नव डाला आईडी पुन: प्राप्त करने के ibatis तरीका है। इबैटिस पहले आईएनएसईआरटी स्टेटमेंट चलाता है और बाद में यह अंतिम आईडी के अनुक्रम से पूछता है।
मुझे संदेह है कि यह कई समवर्ती आवेषणों के साथ काम करेगा। लेकिन
INSERT INTO sometable (somefield) VALUES (#value#) RETURNING id;
जब मैं एक <insert>
sqlmap ibatis भीतर इसका इस्तेमाल करने के लिए आईडी वापस नहीं करता है कोशिश: (discussed in this question)
मैं ibatis के साथ निम्न कथन का उपयोग करना चाहते हैं। ऐसा लगता है कि <selectKey>
टैग की आवश्यकता है।
कैसे मैं ibatis साथ उपरोक्त कथन का उपयोग कर सकते हैं:
तो यहाँसवाल आता है?
यह समाधान मेरी सहमति चिंता को हल करता है। यह केवल प्रश्न छोड़ देता है अगर ibatis इंसर्ट के साथ काम कर सकता है .. रिटर्न .. वाक्यविन्यास। – Christoph