क्या एक अलग तालिका में एक घटक वर्ग को स्टोर करने के लिए हाइबरनेट को कॉन्फ़िगर करना संभव है?हाइबरनेट घटकों को एक अलग तालिका में मैपिंग
<class name="test.ClassA">
<property name="propA"/>
<component name="componentProp" class="test.ClassB">
<property name="propB"/>
</component>
</class>
यह एक मेज पर नक्शे दो कॉलम propA
और propB
साथ MyClass
कहा जाता है:
निम्नलिखित उदाहरण लें। मैं चाहता हूं कि घटक के गुणों को ClassB
नामक तालिका में मैप करना है। ताकि एक सामान्य संघ बाहर नियम
नहीं करने के लिए मैं क्या कर चाहते हैं, अपने आप में एक इकाई (यह ClassA
के बाहर कोई सार्थक पहचान है) के रूप में ClassB
कॉन्फ़िगर है। इसके अलावा, मैं ऑब्जेक्ट मॉडल (यह जेनरेट कोड) को संशोधित नहीं कर सकता, इसलिए मैं ClassB
पर एक आईडी प्रॉपर्टी पेश नहीं कर सकता।
यह हाइबरनेट की कार्यक्षमता में एक अंतर है - < घटक> मानचित्रण "एकाधिक-वर्ग-से-एक-तालिका" करता है, और < जुड़ता है> "एक-वर्ग-से-एकाधिक-टेबल" करता है, लेकिन विचित्र रूप से इकाई संघों का उपयोग किए बिना "एकाधिक-वर्ग-से-एकाधिक-टेबल" करने का कोई स्पष्ट तरीका नहीं है।
यह चाहते हुए मेरा तर्क यह है कि मैं चाहता हूं कि मेरा डीबी स्कीमा ऑब्जेक्ट मॉडल जैसा दिखता हो उतना निकटता जैसा दिखता हो, और इसमें ClassB
घटक के लिए अलग-अलग टेबल शामिल हैं। मैं समझता हूं कि यह स्केल नहीं करेगा - उदाहरण के लिए, आप नेस्टेड घटक नहीं कर सके, लेकिन यह इस विशेष स्थिति में कोई समस्या नहीं है।
आह, यह वही दिखता है जो मुझे चाहिए, इसके लिए धन्यवाद। मैं उसे एक स्पिन के लिए बाहर ले जाऊंगा और देख सकता हूं कि यह टिकट है या नहीं। – skaffman
मुझे इस तकनीक को "जावा पर्सिस्टेंस विद हाइबरनेट" की धारा 8.1.3 में प्रलेखित किया गया। ध्वनि लग रहा है। एक बार फिर धन्यवाद। – skaffman
धन्यवाद। मैंने किसी भी तरह से उस पुस्तक को कभी भी पढ़ने में कामयाब नहीं रहा :-) – ChssPly76