जवाबों:
@Basicयह दर्शाता है कि एक विशेषता को बनाए रखना है और एक मानक मानचित्रण का उपयोग करना है। इसमें ऐसे पैरामीटर हैं जो आपको यह निर्दिष्ट करने की अनुमति देते हैं कि क्या विशेषता को आलसी लोड किया जाना है और क्या यह अशक्त है।
@Column आपको उस डेटाबेस में कॉलम का नाम निर्दिष्ट करने की अनुमति देता है जिसमें विशेषता को बनाए रखना है।
यदि आप एक को दूसरे के बिना निर्दिष्ट करते हैं तो आपको डिफ़ॉल्ट व्यवहार मिलता है जो समझदार है, इसलिए आमतौर पर लोग विशेष मामलों के अपवाद के साथ केवल एक का उपयोग करते हैं।
इसलिए यदि हम एक विशेषता का एक आलसी लोडिंग चाहते थे और एक स्तंभ नाम निर्दिष्ट करने के लिए हम कह सकते हैं
@Basic(fetch=FetchType.LAZY)
@Column(name="WIBBLE")
यदि हम डिफ़ॉल्ट, गैर-आलसी व्यवहार को कम करते हैं तो बस @Columnपर्याप्त होता।
@ Djna के जवाब के अलावा , यह ध्यान देने योग्य है कि @Basicइसकी तुलना की जानी चाहिए @OneToMany, @ManyToOneऔर @ManyToMany। इनमें से किसी भी संपत्ति पर केवल एक निर्दिष्ट किया जा सकता है।
@Columnऔर @JoinColumnडेटाबेस स्तंभ गुणों का वर्णन करने के लिए इनमें से किसी के साथ निर्दिष्ट किया जा सकता है।
ये एनोटेशन के दो सेट हैं जिन्हें एक साथ उपयोग किया जा सकता है, लेकिन प्रत्येक सेट के केवल एक एनोटेशन का उपयोग एक बार में किया जा सकता है।
यह ध्यान देने योग्य है कि बेसिक को आदिम क्षेत्रों के लिए डिज़ाइन किया गया है
http://en.wikibooks.org/wiki/Java_Persistence/Basic_Attributes
एक बुनियादी विशेषता वह है जहां विशेषता वर्ग एक सरल प्रकार है जैसे स्ट्रिंग, संख्या, दिनांक या एक आदिम। एक मूल विशेषता का मान डेटाबेस में सीधे स्तंभ मान पर मैप कर सकता है।
समर्थित प्रकार और रूपांतरण जेपीए कार्यान्वयन और डेटाबेस प्लेटफॉर्म पर निर्भर करते हैं। किसी प्रकार की मूलभूत विशेषता जो किसी डेटाबेस प्रकार से सीधे मैप नहीं होती है, उसे बाइनरी डेटाबेस प्रकार से क्रमबद्ध किया जा सकता है।
जेपीए में एक बुनियादी विशेषता को मैप करने का सबसे आसान तरीका कुछ भी नहीं है। ऐसी कोई भी विशेषताएँ जिनके पास कोई अन्य एनोटेशन नहीं है और अन्य संस्थाओं का संदर्भ नहीं है, को स्वचालित रूप से मूल के रूप में मैप किया जाएगा, और यहां तक कि यदि कोई मूल प्रकार नहीं है, तो धारावाहिक भी। विशेषता के लिए कॉलम नाम डिफ़ॉल्ट रूप से होगा, जिसे विशेषता नाम के साथ अपरकेस के रूप में नाम दिया गया है।
@Basic एनोटेशन JPA संस्थाओं पर लागू किया जाता है, और @ कॉलम को डेटाबेस कॉलम पर लागू किया जाता है @Basic एनोटेशन का वैकल्पिक गुण परिभाषित करता है कि इकाई फ़ील्ड शून्य हो सकती है या नहीं; दूसरी ओर,
@Basicबिना उपयोग कर सकता है@Column, यही कारण है कि दोनों में गुणoptionalऔरnullableगुण मौजूद हैं। क्या मैं सही हू?