deklarativ konfigurieren fauler Fetching für JPA Onetoone Relations
Eine gemeinsame Optimierung in JPA -Anwendungen besteht darin, das faule Abrufen für Beziehungen zu aktivieren. Standardmäßig holt JPA die Onetoone -Assoziationen eifrig ab, was zu Leistungsproblemen in Situationen führen kann, in denen die zugehörige Entität nicht immer benötigt wird. In diesem Artikel werden die Methoden zur Konfiguration von Onetoone-Beziehungen als faul untersucht und ein bestimmtes Problem mit einem Benutzer angesprochen, bei dem das eifrige Abnehmen Leistungs Engpässe verursachte. Dies liegt daran, dass die Besitzentität bestimmen muss, ob die Assoziationseigenschaft einen Proxy oder Null enthalten sollte, der nicht ausschließlich auf den Spalten der Basistabelle ermittelt werden kann. Die Besitzentität kann den fremden Schlüssel leicht überprüfen (oder einen leeren Sammelproxy für Eins-zu-Viele-Verbände erstellen), um den Verband auf Anfrage zu bevölkern.
, um das faule Abrufen für einen @Manytoone-Association zu aktivieren, kann die @Manytoone-Annotation mit Fetch = Fetchtype.lazy annotiert werden. Es ist jedoch entscheidend zu überprüfen, ob die Abfrage selbst diese Einstellung nicht überschreibt.
für einen @onetoone-Assoziation, wenn es nicht nullbar ist, kann es als solche angegeben werden:
@onetoone (optional = false, fetch = betchtype. Instrumentierung ist die einzige Option.
Ein weiteres Szenario entsteht, wenn eine @onetoone -Vereinigung aufgrund einer großen Anzahl von Verbindungen in der resultierenden Abfrage Leistungsprobleme verursacht. In solchen Fällen wird empfohlen, das Modell zu inspizieren und alternative Ansätze zu implementieren, z.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3