- Dikirim
- 23 September 2026 pukul 14.39 UTC
- Penulis
- Kamo
- Commit
- 3677d12
findById () pada LeadVsupport Product menarik naliult- vendor EAGER, yang sendiri menginginkan - mengambil sendiri sendiri org AND pasarnya (yang menginginkan -fetches ITS org lagi) - dan Organisasi adalah @ Inheritansi (JOINED), sehingga setiap orang dari mereka hop juga luar - bergabung ORG _ MTG untuk menyelesaikan polimorfik subtype. Diukur dalam produksi pg _ stat _ pernyataan: sebuah gabungan 8-way, ~ 780K panggilan di 10-21ms (~ 3 jam kumulatif waktu DB), hampir seluruhnya single-id lookup ('di mana id = $1), bukan batcable N + 1 - setiap penelepon sudah memiliki satu id dan membaca di sebagian besar vendor + bidang skalar sendiri. Tambahkan dua LeadVsupport ProductRepositori metode dan switch setiap findById () pemanggil dalam kamo- shared-library + securityservice ke salah satu yang cocok apa yang sebenarnya dibaca: - FindIsEmptyCredititFfaById: proyeksi skalar JPQL, tidak bergabung sama sekali. - FindByIdWithVendor: sebuah @ EntityGraphs dibatasi untuk 'vendor' (a plain, bukan-JOINED entitas) - vendor.org dan vendor.market kembali sebagai proxy tidak terinisialisasi yang id masih dapat dibaca dengan tidak ada ekstra query, yaitu semua pemeriksaan kepemilikan org- dalam penelepon yang pernah diperlukan. Tidak secara paksa sebuah @ EntityGraph ke vendor.org atau vendor.market. Organisasi: keduanya adalah Organisasi, dan sebuah grafik entitas yang mengambil asosiasi lebih lanjut dari entitas warisan JOINED- adalah bentuk yang tepat yang mengambil / memimpin turun dalam produksi pada Hibernasi 6.2.13 (hilang FROM - clause entri untuk tabel akar - lihat LeadAssineRef). Dua penelepon yang benar-benar membutuhkan pasar organisasi * * * * * * * * * * * * dalam layanan keamanan) load LeadMarket sebagai kedua, kuiri biasa - split yang sama codebase ini sudah digunakan untuk TeamMember. JSON bentuk tidak berubah; hanya yang kolom bisa dibaca dari basis data berubah.
