2017-10-11 4 views
0

ich dieses Problem haben, wo, wenn eine Eigenschaft eines Verbund null ist (man beachte, es ist nicht die ID), Javers eine Ausnahme auslöst:Javers wirft Ausnahme, wenn Eigenschaft null ist

JaversException PROPERTY_ACCESS_ERROR: error getting value from property 'Method User getPersonEntity; //declared in: HibernateProxy_$$_javassist_356' on target object of type 'HibernateProxy_$$_javassist_356', cause: java.lang.reflect.InvocationTargetException: null 

oder

JaversException PROPERTY_ACCESS_ERROR: error getting value from property 'Method List getAddress; //declared in: ... **Object property of the audited object**, cause: java.lang.reflect.InvocationTargetException: null 

Stellen Sie sich die folgende Struktur vor:

Benutzer enthält Person, die Adresse enthält - alle Objekte mit eigenen Eigenschaften.

Wenn ich ein Benutzerobjekt festlege, wenn entweder Person oder Adresse eine Null-Eigenschaft hat, schlägt Javers mit dem obigen Fehler fehl.

Wie behandelt Javers Null-Eigenschaften? Kann es so konfiguriert werden, dass keine Null-Eigenschaft protokolliert oder als Null protokolliert wird? Ich kann keinen Grund sehen, warum eine Ausnahme ausgelöst werden sollte, wenn eine Eigenschaft null ist ?! Es scheint keine Dokumentation darüber zu geben, wie mit Null-Eigenschaften umgegangen wird.

Antwort

1

JaVers beschäftigt sich mit Nullen ohne Probleme, aber Ihr Getter gab keine Null sondern eine Ausnahme zurück. Scheint, dass Ihr Objekt ein dynamischer Hibernate-Proxy ist und nicht initialisiert werden kann.

+0

Es ist ein bisschen seltsam, dass dies passiert, da die Hibernate Session noch offen ist. Es sollte in der Lage sein, das Objekt ohne ein Problem zu laden. Der JaVers-Fehler gibt mir auch nicht viele Informationen, nur dass die Eigenschaft null ist. Es ist also nicht klar, was tatsächlich passiert. Gibt es eine Möglichkeit, die Debug-Level-Protokollierung für JaVers zu aktivieren, um mehr Informationen darüber zu erhalten, was passiert? – Stef

+0

JaVers sagte "PROPERTY_ACCESS_ERROR Fehler beim Abrufen von Wert aus der Eigenschaft" und es ist wahr. Dein Getter hat eine Ausnahme geworfen, du solltest damit umgehen :) –

+1

versuche Hibernate unproxy hook, siehe https://javers.org/documentation/spring-integration/#hibernate-unproxy-hook –

Verwandte Themen