2008-12-02 12 views
6

मेरे पास एक कक्षा है जो वर्तमान में हाइबरनेट का उपयोग कर डेटाबेस तालिका में एक इकाई के रूप में मैप की गई है। इस वर्ग को एक अमूर्त वर्ग में दोबारा तैयार किया जाना चाहिए जिसमें उसके सभी उप-वर्गों के लिए कुछ फ़ील्ड आम है।उप-वर्गों में एक हाइबरनेट इकाई को रीफैक्टर करना

मैं मानचित्रण हाइबरनेट संस्थाओं/रिश्तों कक्षाओं के लिए एनोटेशन का उपयोग कर रहा हूँ।

मैं सुझाव/कैसे इस पुनर्रचना करने के लिए पर वेरिएंट चाहते हैं।

इसके अलावा, ठोस उपवर्गों में से एक में है कि (भविष्य सार सुपर क्लास के लिए) डेटाबेस में संग्रहीत किया जाता है डेटा स्थानांतरित करने के लिए कैसे पर कुछ सुझाव।

उत्तर

9

पहले, मैं सुपर क्लास बना सकते हैं और आवश्यक टिप्पणियां जोड़ देंगे।

  • एकल तालिका प्रति वर्ग पदानुक्रम रणनीति
  • उपवर्ग रणनीति
  • शामिल हुए मुझे लगता है कि शामिल हुए उपवर्ग यहाँ काम करेंगे कक्षा रणनीति प्रति

    • टेबल: आप के बीच तय किया है। आप एनोटेशन जोड़ते हैं:

      @Entity 
      @Inheritance(strategy=InheritanceType.JOINED) 
      

      सुपर क्लास में।

      दूसरा, मैं उप-वर्गों का प्रतिनिधित्व करने वाली तालिका (ओं) तैयार करूंगा। याद रखें इन्हें केवल कॉलम होंगे जो सबक्लास के लिए अद्वितीय हैं, साझा किए गए कॉलम सुपर क्लास में बने रहेंगे। फिर प्रत्येक वर्ग में स्थित सुपर क्लास 'तालिका से पंक्तियों का चयन करें और डेटा को स्थानांतरित करें।

      मुझे यकीन नहीं है कि आप कुछ और विशिष्ट खोज रहे हैं? यह article हाइबरनेट के साथ विरासत बताता है।

    +0

    लिंक टूटा हुआ प्रतीत होता है। JBoss दस्तावेज़ीकरण के लिए: http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#d0e1168 – rpr

    +0

    मुझे लगता है इस उत्तर के लिए ही लापता बात 'के 4 पसंद का उल्लेख है @MappedSuperclass 'जैसा कि 2.2.4.4 में देखा गया है। लिंक किए गए दस्तावेज़ का – Draken

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