समाधान 1
Table1
. पर डेटाबेस व्यू बनाएं जो विदेशी कुंजी संदर्भित Table2
. को उजागर करता है . अपनी पोस्ट की गई क्वेरी से विदेशी कुंजी प्रोजेक्ट करें जिसे आप वैसे भी देखने के लिए उपयोग करेंगे। फिर अपनी इकाई को दृश्य में मैप करें।
समाधान 2
जुड़ने का फ़ॉर्मूला इस्तेमाल करें :
उदाहरण के लिए, Table1
. में मैप की गई इकाई में Table2
. में मैप की गई इकाई के साथ कई-से-एक संबद्धता को परिभाषित करें (आपका उपयोग मामला प्रतीत होता है):
@ManyToOne
@JoinColumnsOrFormulas({
@JoinColumnOrFormula([email protected](value="(SELECT t2.serial FROM Table2 t2 WHERE serial1 = t2.serial OR serial2 = t2.serial)", referencedColumnName="serial"))
})
private Entity2 entity2;
हालांकि, कुछ समय के लिए हाइबरनेट में जुड़ने के सूत्र बहुत नाजुक प्रतीत होते हैं (मैं यह काम केवल कई-से-एक संघ के लिए करने में कामयाब रहा और मुझे Entity2
बनाना पड़ा। Serializable
लागू करें; अन्यथा यह काम नहीं किया और कुछ अजीब फेंक दिया NullPointer-
और ClassCastException
एस)।