जेपीए के लिए अपेक्षाकृत नया, इसलिए मेरे पास एक प्रकार का वास्तुकला प्रश्न है। चलो कहते हैं कि मैं एक रिश्ते के लिए कई (अर्थात अनेक कर्मचारी एक विभाग के लिए काम करते हैं) के साथ टेबल कर्मचारी और विभाग करते हैं:जेपीए - गणना वर्ग इकाई इकाई वर्ग संपत्ति के रूप में?
EMPLOYEE
EMPLOYEE_ID
EMPLOYEE_NAME
DEPARTMENT_ID
DEPARTMENT
DEPARTMENT_ID
DEPARTMENT_NAME
तो मैं कर्मचारी और विभाग के लिए उचित संस्थाओं को परिभाषित कर सकते हैं, वहाँ कोई समस्या नहीं है। हालांकि, एक दृश्य में मैं इस तरह है कि विभाग के लिए काम करने वाले कर्मचारियों की संख्या, कुछ के साथ विभागों की सूची प्रदर्शित करना चाहते हैं:
SELECT D.DEPARTMENT_NAME,
(SELECT COUNT(*) FROM EMPLOYEE E WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID) NUMBER_OF_EMPLOYEES
FROM DEPARTMENT D
मैं सिर्फ यकीन नहीं सही रणनीति इस जेपीए का उपयोग कर पूरा करने के लिए है कि क्या कर रहा हूँ। .. मैं हमेशा विभाग की इकाई के लिए कर्मचारियों की संख्या नहीं लेना चाहता, क्योंकि इसकी आवश्यकता होने पर केवल एक ही दृश्य है।
ऐसा लगता है कि हाइबरनेट का @ फर्मुला एक संभावित दृष्टिकोण होगा, लेकिन afaik यह जेपीए मानक के अनुरूप नहीं है।
आपके उत्तर के लिए @MattR धन्यवाद। यह समाधान इस सरल उदाहरण के लिए काम कर सकता है। लेकिन क्या होगा यदि (ए) विभाग तालिका में NAME के अलावा कई अन्य कॉलम हैं और मैं स्पष्ट रूप से उन सभी को कन्स्ट्रक्टर में सूचीबद्ध नहीं करना चाहता हूं और (बी) मैं अभी भी इसे डिपार्टमेंट इकाई की संपत्ति के रूप में रखना चाहता हूं (LAZY लाने के साथ प्रकार) बस मामले में कहीं और सुलभ होने के लिए। – AndreiM
अच्छा सवाल, मैंने कोशिश नहीं की है लेकिन मुझे लगता है * आप कन्स्ट्रक्टर में इकाई वर्गों का उपयोग कर सकते हैं (इसलिए आपको सभी इकाई गुणों को चुनने की आवश्यकता नहीं होगी)। अगर मुझे इसे आजमाने का मौका मिलता है तो मैं अपना जवाब अपडेट करूंगा ... यानी आपके पास एक डिपार्टमेंट कर्मचारी वर्ग (कहना) हो सकता है जिसमें एक कंस्ट्रक्टर डिपार्टमेंट कर्मचारी (विभाग, इंटीजर) था और नए विभाग के कर्मचारियों का चयन करें (डी, गिनती (ई.आईडी))) - जो कुछ भी आप पूछ रहे हैं उसके करीब नहीं है ... – MattR
ठीक है, मैं इस बारे में एक लंच के बारे में सोच रहा था, इसलिए कुछ अतिरिक्त जानकारी अपडेट की गई। यदि आप किसी भी सुझाव का प्रयास करते हैं या बेहतर समाधान ढूंढते हैं, तो कृपया – MattR