java - How to Optimise a JPA Query -


मेरे पास तीन संस्थाएं निम्नानुसार हैं:

  सार्वजनिक वर्ग EntityA {निजी लांग आईडी; // गेटर्स और सेटर्स} पब्लिक क्लास EntityB {निजी लांग आईडी; निजी इकाई एटाटा; // गेटर्स और सेटर्स} पब्लिक क्लास EntityC {निजी लांग आईडी; निजी बिगडीकल राशि; निजी EntityB entityb; // गेटर्स और सेटर्स}   

अब, एंटिटी ए का एक उदाहरण दिया गया है, मुझे EntityC की एक सूची प्राप्त करना है वर्तमान में मेरे पास दो विकल्प उपलब्ध हैं I मुझे नहीं पता कि कौन अधिक अनुकूलित है विकल्प हैं:

  1। EntityC c से c चुनें जहां c.entityb में (EntityB b से चुनें b जहां b.entitya =: entitya)   

2। EntityB के लिए एक नई प्रॉपर्टी जोड़ें

  निजी सेट & lt; EntityC & gt; entityCCol; @OneToMany (मैप किए गए = "एंटिब") सार्वजनिक सेट & lt; EntityC & gt; GetEntityCCol () {वापसी इकाई CCOL; } एटिटाइटी बी से जुड़ें a से b चुनिए a.entityCCol b   

इनमें से कौन सा दोनों प्रश्न आसान और अनुकूल हैं?

यह संग्रह के आकार पर निर्भर करता है। छोटे संग्रह के लिए मैं ऑब्जेक्ट मॉडल में रिश्तों का इस्तेमाल करेगा। प्रदर्शन की तुलना में किसी डिजाइन / प्रयोज्यता के परिप्रेक्ष्य से अधिक, यह अधिक ऑब्जेक्ट-ओरिएंटेड है। मैं हालांकि इसे लाने में शामिल नहीं होगा, बस मॉडल सामान्य रूप से उपयोग करें आपके मॉडल को और अधिक उपयोगी बनाने के लिए आपको ए से बी से रिश्ते का होना चाहिए।

# 1 में क्वेरी के लिए, उप क्वेरी का उपयोग करके आपकी क्वेरी बहुत ही कुशल नहीं है, केवल एक जुड़ने का उपयोग करें, / P>

EntityC c से c चुनें जहां c.entityb.entitya =: entitya

Comments

Popular posts from this blog

Python SQLAlchemy:AttributeError: Neither 'Column' object nor 'Comparator' object has an attribute 'schema' -

java - How not to audit a join table and related entities using Hibernate Envers? -

mongodb - CakePHP paginator ignoring order, but only for certain values -