0
我有這樣的問題,即,如果一個複合的屬性爲null(注意這不是ID),Javers拋出一個異常:Javers拋出異常時屬性爲null
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
或
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
因此,想象下面的結構:
用戶包含人,其中包含地址 - 具有自己的屬性的所有對象。
如果我提交了一個User對象,如果Person或Address有一個null屬性,那麼Javers會因上述錯誤而失敗。
Javers如何處理空屬性?它可以被配置爲不記錄一個空屬性或將其記錄爲空?當一個屬性爲空時,我看不到它應該拋出異常的原因?!似乎沒有關於如何處理空屬性的任何文檔。
自從Hibernate Session仍然打開後,發生這種情況有點奇怪。它應該可以在沒有問題的情況下延遲加載對象。 JaVers錯誤也沒有給我多少信息,只是該屬性爲空。所以目前還不清楚究竟發生了什麼。有沒有辦法啓用JaVers的調試級別日誌記錄以查看有關發生的更多信息? – Stef
JaVers說「PROPERTY_ACCESS_ERROR錯誤從屬性獲取值」,這是真的。你的getter拋出一個異常,你應該面對它:) –
嘗試Hibernate的unproxy鉤子,請參閱https://javers.org/documentation/spring-integration/#hibernate-unproxy-hook –