उपयोग उदाहरण:
मैं कक्षा फ़ील्ड को एक कस्टम एनोटेशन @ माईकॉन्टेनर रखना चाहता हूं और फिर प्रासंगिक सभी हाइबरनेट एनोटेशन (फ़ील्ड प्रकार और गुणों के आधार पर) पर स्वचालित रूप से जोड़ना चाहता हूं।
अतिरिक्त में मुझे कक्षा में JAXB XmlType एनोटेशन जोड़ने और कक्षा के नाम पर टाइप नाम का आधार जोड़ने की आवश्यकता है।
मैं अतिरिक्त प्रकार के आधार पर फ़ील्ड में एनोटेशन जोड़ने के लिए अतिरिक्त चाहता हूं, आदि सभी अतिरिक्त एनोटेशन रन टाइम पर उपलब्ध होना चाहिए (इसलिए हाइबरनेट/जेएक्सबी उन्हें ढूंढ सकता है)।जावा क्लास में प्रोग्रामेटिक एनोटेशन जोड़ना
- पूर्व प्रसंस्करण वर्ग स्रोत (बुरा विकल्प)
- प्रसंस्करण संकलन के दौरान javax.annotation.processing API के साथ
- पोस्ट संकलन में गड़बड़ी जैसे कि जावा उपकरणों के साथ:
मैं निम्नलिखित विकल्पों के बारे में पता कर रहा हूँ java.lang.instrument एपीआई - AspectJ (पर्याप्त शक्तिशाली नहीं)
मेरे प्राथमिक लक्ष्य हैं:
- डिबगिंग
- समर्थन दोनों Maven और आईडीई (ग्रहण/Intellij) से काम करने के लिए वर्ग और स्रोत के बीच सिंक रखें
मैं लोगों को अगर सराहना करेंगे जो पहले से ही ऐसी चीजें ऐसी कार्य (और शायद संभावित नुकसान) के लिए सर्वोत्तम दृष्टिकोण की सिफारिश कर सकती हैं।
एनोटेशन उत्पन्न करने के बारे में क्या नहीं, बल्कि इसके बजाय हाइबरनेट मैपिंग एक्सएमएल फाइलें (एचबीएम.एक्सएमएल) उत्पन्न करना जो हाइबरनेट कॉन्फ़िगरेशन द्वारा लोड किया जा सकता है? – Strelok
धन्यवाद, यह एक अच्छा विचार है, लेकिन मैं अपने मामले में एनोटेशन विकल्प पसंद करता हूं क्योंकि मुझे जेएक्सबी एनोटेशन भी उत्पन्न करना होगा (और शायद भविष्य में अन्य)। –