java - 当属性为 null 时 Javers 抛出异常

标签 java javers

我遇到这个问题,如果组合的属性为 null(注意不是 ID),Javers 会抛出异常:

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 - 所有具有自己属性的对象。

如果我提交一个 User 对象,如果 Person 或 Address 具有 null 属性,Javers 将失败并出现上述错误。

Javers 如何处理 null 属性?是否可以将其配置为不记录 null 属性或将其记录为 null?我看不出为什么当属性为空时它应该抛出异常?!似乎没有任何关于如何处理 null 属性的文档。

最佳答案

JaVers 处理 null 没有任何问题,但你的 getter 没有返回 null 而是抛出异常。 看来您的对象是 Hibernate 动态代理,无法初始化。

关于java - 当属性为 null 时 Javers 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46681322/

相关文章:

java - Java 中的 lambda 表达式如何工作?

mongodb - java.lang.NoSuchMethodError : com. mongodb.client.MongoCollection.insertOne 将条目插入到 Javers Mongodb 集合时出现异常

java - 当 @Id 位于 Getter 上而不是属性上时,JaVers 异常

java - 由 : org. postgresql.util.PSQLException 引起:错误:关系 "jv_commit"已存在

java - Jsoup 选择深度元素(来自父级的 DOM 级别)

java - 如何使用 Eclipse 删除未使用的导入而不重新组织它?

java - 简单 XML : suppress length attribute in serialized arrays

java - 为什么解密后的数据与使用java加密的原始数据不同?

java - 哈弗斯MANAGED_CLASS_MAPPING_ERROR