2012-04-17 13 views
8

जैसे ही मैंने कुछ दिनों पहले हाइबरनेट के साथ काम करना शुरू किया था, मैं बस सोच रहा था: मान लीजिए कि आप एक परियोजना शुरू कर रहे हैं। डेटाबेस स्कीमा उत्पन्न करने के लिए, आप एनोटेशन-आधारित मैपिंग या हाइबरनेट मैपिंग फ़ाइलों का उपयोग करेंगे।हाइबरनेट: फ़ाइलों या एनोटेशन मैपिंग?

यह मेरी समझ है कि हाइबरनेट मैपिंग फाइलें कुछ विशेषताओं की पेशकश करती हैं जिन्हें आप टिप्पणियों के साथ कम से कम सटीक समकक्ष नहीं पाएंगे। लेकिन फिर भी, मुझे यह महसूस हो रहा है कि आजकल, हाइबरनेट का उपयोग करने वाली परियोजनाएं हाइबरनेट मैपिंग फाइलों के मुकाबले एनोटेशन के लिए जाएंगी।

क्या किसी ने कभी एनोटेशन पर मैपिंग फाइलें चुनी हैं, और यदि हां, तो किस कारण से?

उत्तर

12

क्या फायदे मैं @Annotations का उपयोग कर में देखें:

  • संकलक सुरक्षित
  • @Entity के आधार पर आप आसानी से कोई इकाई
  • packagesToScan स्प्रिंग की सुविधा entites साथ
  • आसानी से कर रहे हैं से इकाई भेद कर सकते हैं स्कैन करने योग्य
  • संकुल से संकुल या कक्षा नामकरण में स्थानांतरित करना आसान है

क्या फायदे मैं में देखते हैं एक्सएमएल का उपयोग कर:

  • यह होता है अनावश्यक विक्रेता विशिष्ट एनोटेशन के साथ नहीं litters जावा वर्गों (कल्पना जेपीए, JAXB, SOLRJ साथ जावा मॉडल वर्ग एनोटेशन) में
  • विन्यास एक ही स्थान पर
  • आसान एक पूरी

हम व्याख्या का उपयोग के रूप में बनाए रखने के लिए, लेकिन एक विकल्प के रूप एक्सएमएल रखने के लिए।

4

एनोटेशन के साथ आगे बढ़ें। एक्सएमएल कॉन्फ़िगरेशन जहां वास्तव में कक्षा के अंदर मेटाडेटा का उपयोग किया जाता है और सहेजना एक अच्छा व्यवहार्य विकल्प है।

एनोटेशन आपको रिश्ते को बेहतर तरीके से मैप करने में मदद करेगा और यह आपको जेपीए मानक के साथ संरेखित करेगा क्योंकि हाइबरनेट ज्यादातर जेपीए एनोटेशन का उपयोग करता है। एनोटेशन का उपयोग करके कोई वास्तविक समस्या नहीं है और वहां बहुत अधिक व्यापार-बंद नहीं है। एक्सएमएल आधारित विन्यास पर इसका बेहतर फायदे हैं। जब आप एनोटेशन का उपयोग करते हैं तो कुछ हैक गायब हो सकते हैं लेकिन वे साथ आएंगे।

एक विरासत परियोजना में नए वर्गों के लिए एनोटेशन का उपयोग करना भी संभव है जिसमें एक्सएमएल आधारित मानचित्रण है जैसा कि here बताया गया है।

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