मैं एक ऐसा एप्लीकेशन लिख रहा हूं जो किसी तीसरे पक्ष के डेटासोर्स से सिंक की इकाइयों को हमारे स्वयं के स्कीमा में बदलता है, जिसमें एक रूपांतरण/मानचित्रण चरण के बीच होता है। मैं अपनी खुद की स्कीमा में इकाइयों का प्रतिनिधित्व करने और बनाए रखने के लिए हाइबरनेट का उपयोग कर रहा हूं। एक समस्या जो मैं चल रहा हूं वह यह है कि मेरे पास मेरी एक तालिका में एक अद्वितीय मल्टी-कॉलम कुंजी है। जिस व्यवहार को मैं देखना चाहता हूं वह एक अपरिपक्व के समान है: जब हाइबरनेट एक इकाई को बनाए रखने के लिए जाता है और एक अद्वितीय बाधा उल्लंघन का पता लगाता है, तो यह इसके बजाय एक अद्यतन करता है। हम MySQL का उपयोग कर रहे हैं, जो एक INSERT प्रदान करता है ... डिप्लिकेट कुंजी अद्यतन वाक्यविन्यास पर, लेकिन मुझे यकीन नहीं है कि इसका उपयोग करने के लिए हाइबरनेट कैसे बनाया जा सकता है?हाइबरनेट का उपयोग कर अपरिवर्तनीय व्यवहार की नकल कैसे करें?
मुझे लगता है कि मैं हमेशा सम्मिलित करने का प्रयास कर सकता हूं, और यदि मैं अपवाद पकड़ता हूं तो एक अद्यतन करता है, लेकिन यह हैकी और उप-स्थानिक लगता है। ऐसा करने के लिए एक साफ तरीके पर कोई सुझाव?
चयन मैचों कोई भी पंक्ति, कोई भी पंक्ति "अद्यतन के लिए" द्वारा लॉक कर दिया जाएगा तो इससे बचा जा सकता। दौड़ की स्थिति से बचा नहीं है। –