- शिप
- 23 सितंबर 2026 को 2:39 pm बजे UTC
- लेखक
- Kamo
- Commit
- 3677d12
leadVendor Product पर findbyId () अपने डिफ़ॉल्ट-EAGER विक्रेता को खींचता है, जो खुद को उत्सुक-खुदरा करता है। खुद का org और इसके बाजार (जो उत्सुक-fetches आईटीएस फिर से org) - और संगठन है @Inheritance (JOINED), इसलिए उनमें से प्रत्येक हॉप्स भी बाहरी-संयुक्त ORG MTG MTG को हल करने के लिए बहुरूपक उपप्रकार। उत्पादन pg stat statements में मापा गया: एक 8-तरफा जुड़ना, ~780K कॉल पर 10-21ms (~3 घंटे संचयी DB समय), लगभग पूरी तरह से एकल आईडी लुकअप ('जहां आईडी = $ 1`), एक नहीं बैचेबल N+1 - प्रत्येक कॉलर में पहले से ही एक आईडी है और अधिकांश विक्रेता + अपने स्वयं के स्केलर फ़ील्ड पर पढ़ा जाता है। दो दुबला LeadVendorउत्पादRepository तरीकों को जोड़ता है और हर findById() कॉलर में स्विच करता है कामो-शेयर्ड-library + सुरक्षा सेवा जो वास्तव में पढ़ता है उससे मेल खाता है: - findIsEmptyCreditFfaById: एक स्कैलर JPQL प्रक्षेपण, कोई भी शामिल नहीं है। - findByIdWithVendor: एक @EntityGraph सीमित करने के लिए `vendor` (एक सादे, गैर-JOINED इकाई) - विक्रेता.org और विक्रेता.मार्केट अनइन्टीलाइज़्ड प्रॉक्सी के रूप में वापस आते हैं, जिनकी आईडी अभी भी अतिरिक्त नहीं है क्वेरी, जो इन कॉलरों में कभी भी आवश्यक सभी ऑर्ग स्वामित्व जांच है। Deliberately विक्रेता.org या विक्रेता.market.organization में @EntityGraph नहीं: दोनों ही हैं संगठन, और एक इकाई ग्राफ़ जो एक जॉइन्ड-इनहेरिटेंस इकाई से आगे संबंध रखता है यह सटीक आकार है जो हाइबरनेट 6.2.13 पर उत्पादन में / लीड्स को नीचे ले गया है (from-clause) रूट टेबल के लिए प्रवेश - लीडसाइनी रेफरी देखें। दो कॉलर जिन्हें वास्तव में बाजार की आवश्यकता होती है संगठन ************* सुरक्षा सेवा में) एक दूसरे के रूप में लीडमार्केट लोड करें, इसके बजाय साधारण क्वेरी - उसी तरह यह कोडबेस पहले से ही TeamMember के लिए उपयोग करता है। JSON आकृतियों का अपरिवर्तित नहीं है; केवल जो कॉलम डेटाबेस को बदल देते हैं।.
