2011-04-07 14 views
16

हाइबरनेट में, मैं भेदभावकर्ता मूल्य का चयन करना चाहता हूं। जैसेजावा हाइबरनेट: पॉलिमॉर्फिक एचक्यूएल क्वेरी में भेदभावकर्ता कॉलम का चयन

select discriminator, id, name, age from Animal

विचार कुछ परिणाम, ताकि मैं discriminator स्तंभ के मूल्य पर आधारित एक अलग चिह्न प्रदर्शित कर सकते हैं (क्लाइंट साइड करने के लिए इस क्वेरी के लिए भेजने के लिए यानी बिल्ली, कुत्ते, हाथी है, आदि)।

क्या यह संभव है? कैसे?

उत्तर

27

आप इस प्रकार के रूप में यह कर सकते हैं:

select a.class, a.id, a.name, a.age from Animal a 

Hibernate Documentation से:

विशेष संपत्ति वर्ग बहुरूपी दृढ़ता के मामले में एक उदाहरण के discriminator मूल्य तक पहुँचता है।

+2

ग्रेट का उपयोग कर सकते हैं! सबसे पहले यह काम नहीं किया क्योंकि मैं 'ए 'के साथ अर्हता प्राप्त नहीं करता था और' चयन वर्ग 'लिखा था – flybywire

1

हाइबरनेट क्वेरी ऑब्जेक्ट्स, कॉलम नहीं जानते हैं। तो जब तक आपके पास अपने पशु वस्तु में भेदभाव करने वाली संपत्ति नहीं है, तब तक आप ऐसा नहीं कर सकते। आप एसक्यूएल में क्वेरी कर सकते हैं या पूरी ऑब्जेक्ट प्राप्त कर सकते हैं और उसके बाद विरासत प्राप्त करने के लिए, इसके लिए आप "exampleof"

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