java - JPA equivalent of Hibernate's @Generated(GenerationTime.ALWAYS) -
जब एक इकाई के कुछ विशिष्ट गैर कुंजी फ़ील्ड उत्पन्न होती हैं (उदाहरण के लिए, ट्रिगर्स द्वारा ) जारी रखने के लिए एक कॉल
एक ऐसे डेटाबेस को वापस नहीं लाएगा, जो एक डेटाबेस द्वारा अभी उत्पन्न हो। व्यवहार में इसका मतलब है कि आपको रिफ़्रेश
को निरंतर
या मर्ज
के बाद की आवश्यकता हो सकती है (और जब स्तर 2 कैश सक्षम है तो आपको इसकी आवश्यकता भी हो सकती है बेदखल
इकाई)।
सीतनिद्रा में होना एक कस्टम एनोटेशन है जो संभाल लेगा।
// सम्मिलित करें और अपडेट पर गुण 1 को रिफ्रेश करें @ जनरेटेड (जेनरेशन टाइम.अलव्स) @ कॉलम (डालने योग्य = गलत, अपडेट करने योग्य = झूठे) निजी स्ट्रिंग गुण 1; // सम्मिलित करें @ पर जेनरेट किए गए (GenerationTime.INSERT) @ कॉलम पर संपत्ति 2 रिफ्रेश करें @ स्तंभ (डालने योग्य = गलत) निजी स्ट्रिंग गुण 2;
जेपीए केवल प्राथमिक कुंजी गुणों के साथ काम करता है
तो, मेरा सवाल है कि अगर JPA API पर @ जनरेटेड
के लिए कोई प्रतिस्थापन है (शायद 2.1 पर)? और अगर कोई भी नहीं है, तो गैर महत्वपूर्ण डेटाबेस जनरेट किए जाने वाले क्षेत्रों को संभाल करने के लिए सबसे अच्छा अभ्यास क्या है?
मैंने शुरुआत से लेकर आखिर तक चश्मा पढ़ीं और यह ऐसी कोई बात नहीं है, @ जनरेटेड, माफ करना, और जैसा आपने कहा था, तुलनीय नहीं है।
जनरेटेड वैल्यू एनोटेशन प्राथमिक कुंजी पर लागू किया जा सकता है संपत्ति या एक इकाई के क्षेत्र या आईपी एनोटेशन के साथ संयोजन के रूप में मैप किए गए सुपर क्लास।
आप क्या कर सकते हैं ईवेंट श्रोता @PrePersist और @UpUpdate कुछ गुणों को डिफ़ॉल्ट रूप से सेट करने के लिए या उपयोगिता कक्षाओं से उत्पन्न होने से पहले ऑब्जेक्ट जारी रहें, इस दृष्टिकोण की कोशिश करें कि यह मेरे दिमाग में समानता के साथ आता है।
Comments
Post a Comment