Feder mvc 4 + Ruhezustand 5 Lazy Loading-Konfiguration

9

Ich habe ein Enterprise-Projekt von Spring mvc4 + Hibernate5 konfiguriert, dass alle seine Beziehung sind eifrig und seine Leistung ist sehr schlecht ... So transformiere ich alle begierigen Beziehungen zu faul Schritt für Schritt ... Aber ich sehe viele Fehler in jedem Schritt ... und es funktioniert manchmal richtig und manchmal nicht ....

In diesem Beispiel ist HeaderFromStore eine Instanz von RequestHeaders und ein Kind von RequestLine. DeliveryPoint ist Kind von requestHeader und ich möchte nicht deliveryPoint von requestHeader abrufen ... Aber wenn es nicht in select query verwendet wird, konnte HeaderFromStore nicht abgerufen werden !!

Ich habe diese Abfrage verwendet und erhalte einen Fehler!

%Vor%

Wenn ich diese Abfrage verwende, bekomme ich keinen Fehler

%Vor%

AnfrageLine.java

%Vor%

RequestHeader.java

%Vor%

Ausnahme:

  

Kein Serializer für Klasse gefunden   org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer und keine   Eigenschaften, die entdeckt wurden, um BeanSerializer zu erstellen (um eine Ausnahme zu vermeiden,   Deaktivieren Sie SerializationFeature.FAIL_ON_EMPTY_BEANS)) (durch Referenz   Kette:   domain.RequestLine ["HeaderFromStore"] - & gt; .domain.RequestHeaders ["DeliveryPoint"] - & gt; domain.DeliveryPoint _ $$ _ jvst393_f ["Handler"])

Beachten Sie, dass ich JsonIgnore und JsonInclude (für Felder und Klassen) verwendet habe, aber keiner von ihnen funktioniert nicht ...

Bearbeiten: Ich habe diese Lösung gefunden, um Ausnahmen zu vermeiden und unerwünschte Eigenschaften zu ignorieren. Ich habe diesen Teil des Codes zu WebMvcConfig extends WebMvcConfigurerAdapter class hinzugefügt:

%Vor%

Aber ich habe jetzt ein anderes Problem ... alle Post-Anfragen erhalten mit Null-Eigenschaften in Anfrage Körper .... zum Beispiel in diesem Code alle Eigenschaften von "requestHeaders" in der Eingabe ist null oder leer!

%Vor%     
faraa 18.10.2017, 09:09
quelle

1 Antwort

0

Sie sollten alle Entitäten hinzufügen, die diese Annotation am Anfang der Klassendefinition haben.

%Vor%

Details werden hier und hier

Ich hoffe, dass diese Ihr Problem lösen.

    
javatar 26.12.2017 12:37
quelle