सुनिश्चित करें कि आपका डीएओ लेनदेन में लिपटा हुआ है (उदाहरण के लिए लेनदेन के लिए स्प्रिंग के इंटरसेप्टर का उपयोग करके)। फिर दोनों कॉलों के लिए एक ही कनेक्शन का उपयोग किया जाएगा।
सेवा स्तर पर लेन-देन को एक स्तर ऊंचा रखना और भी बेहतर होगा।
दस्तावेज़ीकरण:http://static .springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html
अपडेट करें: यदि आप DataSourceUtils.getConnection()
. के JavaDoc पर एक नज़र डालें तो विधि जिसे आपने अपने अपडेट में संदर्भित किया है, आप देखेंगे कि यह वर्तमान थ्रेड से संबद्ध कनेक्शन प्राप्त करता है:
इसके अनुसार, इसे वैसे ही काम करना चाहिए जैसे आपने इसे सेट किया है। मैंने इस पैटर्न का बहुत बार उपयोग किया है, और कभी भी आपके द्वारा वर्णित किसी भी समस्या का सामना नहीं किया...
कृपया इस थ्रेड पर भी एक नज़र डालें, कोई वहां इसी तरह के मुद्दों से निपट रहा था:स्प्रिंग जेडीबीसी डिक्लेरेटिव ट्रांजैक्शन बनाए गए लेकिन कुछ भी नहीं कर रहे हैं