- Diantar
- 23 September 2026 pukul 14.39 UTC
- Pengarang
- Kamo
- Kommit
- c4924af
Dua perbaikan terkait untuk HimberRightsAppliedService, keduanya dalam file yang sama: 1. * * * * * * * * * * * * * (via recalcChunk) dan * * * * * * * * * * * * * * * * * * tanpa syarat dihapus dan dimasukkan kembali setiap satu dari anggota baris-baris hak cipta, setiap kali mereka lari. Layanan SecurityService 's Anggota RightsBackfilllService memanggil jalur orglebar untuk EVERY org pada EVERY pod boot (a self-heal, by design - lihat javacdoc sendiri), dan recompute adalah idempoten: a steady-state boot re-turunan set identik. Diukur dalam pg _ stat _ pernyataan produksi: ~ 12.7M INSERT terhadap tabel baris ~ 30K-row - kira-kira 300 tabel penuh menulis ulang, satu per boot, hampir semua dari mereka menulis kembali persis apa yang sudah ada. Kedua metode sekarang diff yang baru-dihitung set terhadap apa anggota _ rights _ diterapkan sudah memegang (satu besar membaca untuk seluruh potongan) dan hanya jelas + menulis ulang anggota yang haknya sebenarnya berbeda. Sebuah boot no- op sekarang biaya satu baca dan nol menulis. KalkulaterMemberRights (inti dari kedua jalur tulis di atas dan baca saja polling Pemasyarakatan Hak Asasi Komputer pada setiap sesi menyegarkan) berjalan member.getRoles (), * * * * * * * * * * * * * * * job-title roles () / getRights () dan member.getRights () sebagai koleksi malas terpisah - ditambah satu beban malas lebih lanjut per peran yang berbeda, untuk peran hak sendiri. Tak terbatas setiap anggota. Enam ruas repositori opsional baru (MemberRoleRepositori, DepartmentRoleRepositori, Departments RightRepositori, JobTitleRoleRepositori, JobTitleRightRepositori, DimberRightRepositori - yang pertama dan terakhir sudah ada) menggantikan mereka malas beban dengan tetap, jumlah kecil dari massal query, masing-masing dengan peran apos; s hak sendiri JOIN- FETCHed. Tidak sengaja sebuah @ EntityGraph berakar di Anggota / Anggota Tim: keduanya adalah @ Inheritansi (JOINED), dan sebuah grafik entitas yang mengambil lebih lanjut Asosiasi dari entitas JOINED adalah bentuk yang tepat yang mengambil / memimpin turun dalam produksi pada Hibernasi 6.2.13 (hilang FROM - clause entry untuk tabel akar - lihat LeadAsneeRef). Setiap orang baru repositori bukan berakar di entitas CHILD (tidak ada yang membawa @ Inheritansi) dan disaring oleh ID orangtua. Ruas EntityManager dengan @ PersistenceContext dicoba pertama kali dan dibalikkan: ini diproses oleh Spring 's JPA-aware postprocessor whenever spring-orm is on the classpath, so a manually- new' d layanan dalam konteks dengan tidak ada EntityManagerFactory bean (SignginReadRetry Uji hand- rolling Spring konteks, yang latihan @ RetryOnDbKonflik melalui proksi AOP nyata) gagal BEAN CRETION Langsung. Ruas repositori pilihan menurunkan cara sama yang telah dilakukan Modelresver: @ Autowired (dibutuhkan = false) meninggalkan mereka tanpa kacang tipe itu, dan enam pembantu jatuh kembali ke jalur lazy-load asli, tidak berubah, dalam setiap tes yang ada. SesionRefreshController terus komputasi hidup (bukan dari snapshot yang bertahan) - titik akhir yang titik seluruh adalah "apa yang benar sekarang", yang secara eksplisit tidak selalu apa yang bertahan terakhir.
