2013-02-12 12 views
5

मैं जेपीए के लिए नया हूं। और मैं इस एनोटेशन @Version पर नीचे आया। यह व्याख्या यह कहता है के लिए दस्तावेज़ में:।जेपीए में आशावादी ताला क्या है?

"यह एनोटेशन संस्करण क्षेत्र या की एक इकाई वर्ग है कि इसकी आशावादी लॉक मूल्य रूप में कार्य करता संपत्ति संस्करण अखंडता को सुनिश्चित करने के लिए जब प्रदर्शन कर प्रयोग किया जाता है निर्दिष्ट करता है ऑपरेशन मर्ज करें और आशावादी समेकन नियंत्रण के लिए। "

आशावादी ताला से इसका क्या अर्थ है और यह वास्तव में इस एनोटेशन से कैसे संबंधित है? धन्यवाद

+2

जानकारी प्राप्त करें [इस लिंक के तहत] (http://bit.ly/Y9IIO1)। –

+1

सभी को एक ही चीज़ को एक साथ संपादित करने दें। जब कोई अपना परिवर्तन करता है, तो जांच करें कि उनके परिवर्तन शुरू होने के बाद ** अन्य ** परिवर्तन किए गए हैं या नहीं। यदि हां, तो रोओ। (यानी उनके परिवर्तन रोलबैक करें और उन्हें ताजा प्रति प्राप्त करने के लिए मजबूर करें)। आमतौर पर संस्करण संख्याओं को परिवर्तन सेटों का ट्रैक रखने के तरीके के रूप में शामिल किया जाता है। –

उत्तर

5

लंबी कहानी कम ...

एक क्षेत्र के रूप में @Version एनोटेट साथ एक इकाई के प्रत्येक रिकॉर्ड SVN में की तरह एक संस्करण से टैग किया गया है। जब भी इकाई को लेनदेन (और फ्लशिंग!) द्वारा अपडेट किया जाता है तो एक चेक आपकी वर्तमान इकाई के संस्करण और डेटाबेस मिलान में प्रविष्टि सुनिश्चित करता है। इस चेक में विफलता के परिणामस्वरूप OptimisticLockException है, क्योंकि किसी ने चालू ऑपरेशन से पहले उस रजिस्ट्री पर बदलाव किया था।

आशावादी

की अवधारणा में आधारित है "मैं इस प्रविष्टि लॉक करने के लिए की जरूरत नहीं है, कोई भी इसे छूने जाएगा"

जबकि एक निराशावादी ताला वास्तव में कुछ परिचालन (ताले पढ़ सकते हैं या जैसा लिखें) किसी दिए गए प्रवेश संभालने पर

"किसी ने जब तक मैं काम इस इकाई को अपडेट करने की कोशिश करेंगे"

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