javers - 为什么 javers throw 有时无法检测到 WrappedCdo 的类型?
问题描述
当我在我的 springboot 应用程序中保留我的实体时,我收到了这个错误。
“wrappedCdo 不是给定 managedType 'TestClass' 的实例,而是 'TestClass'”
但是,当我再次重新启动应用程序时,错误消失了。我以前也看到过这种情况。
知道是什么原因造成的吗?
解决方案
这个问题很老,但对于将来在这里结束的任何人来说,这个问题与不同的类加载器分别加载有问题的类有关(Spring Boot 利用一个附加功能RestartClassLoader
来支持代码更改的热部署),这打破了类型比较。该问题与此处报告的问题非常相似:
一个与 spring-boot-devtools 相关的类加载器问题
解决方案是一样的。就我而言,我将以下行添加到src/main/resources/META-INF/spring-devtools.properties
:
restart.include.javers=/javers.*.jar
这似乎解决了 JaVers 的问题。
推荐阅读
- android - MediaPlayerNative: info/warning (10973, 0) 是什么意思?如何解决?
- hibernate - 使用 mapstruct 映射 Hibernate 实体
- java - JavaFX tableview:默认情况下,顶部单元格在编辑模式下保存来自波纹管单元格的数据
- javascript - 输入文件多次使用 Firebase
- javascript - 删除附加到元素的父级的父级
- google-apps-script - getValue() 突然不适用于特定工作表
- javascript - 如何在javascript中处理大量数据?
- javascript - 如何在云函数中查询 firebase 数据库?
- sql - 如何根据模式或值的第二次出现来获取字符串?
- python - 合并列表中的所有项目