आपको निराशावादी लॉकिंग का उपयोग करने की आवश्यकता है, जिसे प्राप्त किया जा सकता है
setLockMode(String alias, LockMode lockMode)
क्वेरी पर और LockMode.UPGRADE
. का उपयोग करें ।
देखें Query.setLockMode
हालाँकि, यदि आप इस तालिका पर बहुत अधिक पहुँच कर रहे हैं, तो यह निश्चित रूप से मापनीयता और प्रदर्शन को मार देगा। आप या तो अनुक्रम का उपयोग करना बेहतर समझते हैं या कोई अन्य रणनीति संख्या आवंटित करने के लिए एक सेवा बनाना है (उदाहरण के लिए, एक एसएसबी) जो एक बार में 100 नंबर पकड़ लेता है, डेटाबेस को अपडेट करता है, और उन्हें सौंप देता है। यह आपको 198 डेटाबेस एक्सेस बचाता है।
अद्यतन:
आपको अपने टेबल डिज़ाइन को भी थोड़ा संशोधित करना होगा। एक ज्ञात आईडी के साथ एक पंक्ति रखना और दूसरे कॉलम में आप जिस संख्या में वृद्धि कर रहे हैं उसे स्टोर करना बेहतर है। फिर आपको पुरानी पंक्ति को हटाने और एक नई जोड़ने के बजाय पंक्ति को अपडेट करना चाहिए। अन्यथा, रो लॉकिंग रणनीति काम नहीं करेगी।
अद्यतन2:
ओपी ने पाया कि निम्नलिखित ने काम किया:
session.get(class.Class, id, lockOption)