उदाहरण के लिए, डेटाबेस तालिका में एक पूर्णांक कॉलम है। फिर जावा मॉडल में, इसे आदिम int और इंटीजर दोनों के रूप में मैप किया जा सकता है। मेरा सवाल यह है कि इस मामले में int और Integer के बीच क्या अंतर है? और प्रदर्शन चिंता? धन्यवाद!जेपीए (हाइबरनेट) कॉलम मैपिंग में आदिम और रैपर वर्ग के बीच क्या अंतर है?
6
A
उत्तर
6
मैं प्राइमेटिव का उपयोग करने से बचने के लिए प्रवृत्त हूं। यह आईडी विशेषता के लिए विशेष रूप से सच है। इससे null
के परीक्षण द्वारा अभी तक निर्धारित मूल्य का पता लगाना संभव हो जाता है। यदि जावा 5 या ऊपर का उपयोग करते हैं, तो ऑटो-मुक्केबाजी दर्द को दूर करती है (और एक प्रदर्शन चिंता नहीं है)। लेकिन अन्य विशेषताओं के लिए भी। जैसा कि @ स्काफमैन द्वारा इंगित किया गया है, प्राइमेटिव नलिका कॉलम के लिए उपयुक्त नहीं हैं और मैं कोड जितना संभव हो उतना लचीला होना पसंद करता हूं।
3
आप पहले से ही अंतर का उल्लेख कर चुके हैं - Integer
null
, int
नहीं हो सकता है। तो यदि आपका डेटाबेस कॉलम शून्य है, तो आपको Integer
का उपयोग करना चाहिए।
प्रदर्शन के लिए, मैं इसके बारे में चिंता नहीं करता। आधुनिक वीएम इस तरह की चीज पर बहुत अच्छे हैं।
बेशक, मुझे पता है कि यह एक अपवाद होगा जब आदिम int डेटाबेस में शून्य मान को पूरा करता है। –