- Expédié
- 5 septembre 2026 à 15:53 UTC
- Auteur
- Kamo
- Commite
- 8ccc080
Member.organization is Lazy, donc findById a laissé un mandataire derrière et le vrai SELECT se produisaient chaque fois que quelque chose d'abord d'abord d'abord d'abord. En cours d'ouverture, c'est-à-dire typiquement, pendant qu'un contrôleur développe sa réponse - en dehors de la méthode de service, en dehors de la transaction, en dehors de tout ce qu'un retour en arrière peut emballer. Une version catalogue l'arrêt de la frappe sur cette déclaration est donc irrécupérable, et c'est pourquoi member.getOrganization() est apparu lors de la dernière panne juste à côté du membre charger elle-même, et pourquoi annoter la lecture seule ne la couvrait pas réellement. Reprendre l'organisation avec les mouvements de membres qui se déroulent à l'intérieur du Appel rejugé. Il supprime également le suivi SELECT, donc ce n'est pas un second requête ajoutée - il s'agit d'une deuxième requête qui s'est arrêtée à se produire au pire possible moment. GALE DE LA JOINT FETCH, pas une adhésion intérieure. La colonne n'est PAS NULL aujourd'hui, ce qui fait Gouverne gratuite; c'est aussi la version qui reste correcte si jamais cela cesse d'être vrai, lorsqu'une adhésion intérieure laisserait tomber silencieusement le membre et signalerait "non-ce que de tels membre" pour ce qui est vraiment une ligne d'organisation manquante. Ce dépôt déjà a dû tirer cette leçon une fois - voir l'utilisateur aliasé rejoindre findByOrganizationId. Le test maintenant stubs findByIdWith Organization plutôt que findById, donc il pince qui getMemberById utilise la requête de recherche et pas n'importe quelle requête. 2758 testent le vert.