2015-03-29 8 views
9

मैं वसंत आवेदन में जेपीए का अध्ययन कर रहा हूं और मेरे पास @Entity एनोटेशन से संबंधित कुछ तिथियां हैं Iजेपीए @ एंटीटी एनोटेशन का सटीक अर्थ क्या है?

तो मैं इस तरह एक मॉडल वर्ग है:,

@Entity 
@Table(name= “T_CUSTOMER”) 
public class Customer { 

    @Id 
    @Column(name=“cust_id”) 
    private Long id; 

    @Column(name=“first_name”) 
    private String firstName; 

    @Transient 
    private User currentUser; 

    ........................... 
    ........................... 
    ........................... 
} 

ठीक है मुझे पता है कि @Entity एनोटेशन वर्ग स्तर पर है और इसका मतलब है कि वस्तु के क्षेत्र है कि इस के उदाहरण हैं कक्षा को T_CUSTOMER डेटाबेस तालिका के क्षेत्र में मैप किया जाना है।

लेकिन क्यों जेपीए में अनिवार्य @Entity एनोटेशन का प्रयोग होता है और मैं केवल एक विशिष्ट डेटाबेस तालिका करने के लिए एक मॉडल वस्तु मैप करने के लिए @Table एनोटेशन का उपयोग नहीं कर सकते हैं? इसका कुछ अन्य अर्थ \ व्यवहार है जो वास्तव में मुझे याद आ रहा है?

मुझे क्या याद आ रही है? @Entity एनोटेशन का सटीक अर्थ क्या है?

+0

'@ टेबल' एनोटेशन वैकल्पिक है। तो जेपीए को एक कक्षा को कैसे पता चलेगा कि ओआरएम प्रक्रिया में इस्तेमाल होने के लिए मैप किया जाए, यदि यह मौजूद नहीं है? – geoand

+1

@Entity भी वैकल्पिक है, क्योंकि आप परिभाषित कर सकते हैं कि orm.xml में कौन सी कक्षाएं हैं –

उत्तर

12

@Entity एनोटेशन परिभाषित करता है कि किसी वर्ग को किसी तालिका में मैप किया जा सकता है। और यही वह है, यह सिर्फ एक मार्कर है, उदाहरण के लिए Serializable इंटरफ़ेस।

और क्यों @Entity एनोटेशन अनिवार्य है? ... अच्छा, यह तरीका है कि जेपीए कैसे डिज़ाइन किया गया है। जब आप एक नया इकाई बनाने आप के साथ @Id

और कुछ में कम से कम दो बातें

  1. @Entity

  2. के साथ एनोटेट कर एक आईडी क्षेत्र बना सकते हैं और व्याख्या यह करने के लिए है वैकल्पिक है , उदाहरण के लिए तालिका का नाम इकाई वर्ग नाम से लिया गया है (और इसलिए @Table एनोटेशन वैकल्पिक हो सकता है), तालिका के कॉलम इकाइयों चर से व्युत्पन्न होते हैं (और इसलिए @Column annota टयन वैकल्पिक हो सकता है), और इसी तरह ...

    जेपीए उन डेवलपर्स को तेज़ और आसान शुरुआत प्रदान करने की कोशिश कर रहा है जो इस एपीआई को सीखना/उपयोग करना चाहते हैं, और डेवलपर्स को कुछ चीजों को यथासंभव कॉन्फ़िगर करने का विकल्प देना कुछ कार्यात्मक तरीका यह है कि यह एपीआई इस "आसान उपयोग/सीखने" लक्ष्य को कैसे प्राप्त करना चाहता है। इसलिए @Entity एनोटेशन (@Id एनोटेशन के साथ) एक इकाई बनाने के लिए आपको न्यूनतम करना है।

संबंधित मुद्दे