2010-09-29 7 views
5

Possible Duplicate:
Hibernate: different object with the same identifier value was already associated with the sessionहाइबरनेट: सत्र के साथ डेटाबेस राज्य सिंक्रनाइज़ नहीं किया जा सका

कई जुड़े मेज पर एक बहुत से करने के लिए एक नई प्रविष्टि सम्मिलित करने का प्रयास करते हैं, मैं इस त्रुटि हो रही है: Could not synchronize database state with session मैं समझ सकता हूँ कि यह कुछ है getSession के साथ सौदों() & session.close()

लेकिन मैं वास्तव में यह पता लगाने के लिए सक्षम नहीं कर सकते। प्रत्येक लेनदेन के लिए मैं एक नया सत्र बना रहा हूं। लेकिन मैं उपयोगकर्ता लॉगआउट पर सभी सत्र बंद करता हूं। अर्थात: एक हाइबरनेट सत्र & HttpSession के साथ बांधता बना रहा है। फिर मैं इसे उपयोगकर्ता लॉगआउट में नष्ट कर देता हूं।

कभी-कभी इस मुद्दे पर काम करने के बाद, मैं a different object with the same identifier value was already associated with the session: त्रुटि मिलती है।

सभी इस त्रुटियों क्योंकि ठीक से & समापन सत्रों को खोलने नहीं की आ रहे हैं।

क्या विधि आप खोल सकते हैं और करीब सत्र पसंद करते हैं। मेरी परियोजना एक वेब ऐप बना रही थी। उस वेब-ऐप में प्रत्येक एकल चाल डीबी से संबंधित है।

कोई सुझाव !!!

उत्तर

10

a different object with the same identifier value was already associated with the session

हाइबरनेट मैप की वस्तुओं का ट्रैक पर काम किया किसी सत्र के दौरान तो यह इन वस्तुओं में किए गए बदलाव का पता लगाने और उन्हें वापस डेटाबेस के लिए लिखने जब लेन-देन के लिए प्रतिबद्ध है सकते हैं रहता है। यदि आपको एक सत्र में समान डेटाबेस पहचानकर्ता ऑब्जेक्ट के साथ अलग-अलग ऑब्जेक्ट्स जोड़ने की अनुमति दी गई थी, तो यह अस्पष्ट होगा कि ऑब्जेक्ट की स्थिति लिखी जानी चाहिए।

Working with objects हाइबरनेट संदर्भ मैनुअल से विस्तार से (और इसे हल करने के तरीके) बताते हैं। विशेष रुचि में "अलग वस्तुओं को संशोधित करना" शीर्षक वाला अनुभाग है, लेकिन उपयोग की जाने वाली शर्तों को समझने के लिए भी परिचय को पढ़ना होगा।

संबंधित मुद्दे