我想保存一些包含通用值的文档。而且我不断收到StackOferflowError
。
这是我的模型课程的一部分
data class MyDocument {
val errors: List<SomeError> = emptyList()
}
SomeError位于接口中,应通过不同类型的错误(包括ValidationError)来实现
interface SomeError
data class ValidationError<T: Any>(val objectType: KClass<T>,val objectId: String) : SomeError
我正在尝试使用非空错误列表保存对象(使用ReactiveMongoRespoitory):
myDocumentRepository.save(MyDocument(
errors = listOf(
ValidationError<MyDocument>(objectType = MyDocument::class,objectId = "somedoc")) //as SomeError did not help
))
你知道我该如何纠正吗?
这是Stack跟踪的psrt:
java.lang.StackOverflowError
at java.base/java.util.HashMap.putVal(HashMap.java:624)
at java.base/java.util.HashMap.putMapEntries(HashMap.java:510)
at java.base/java.util.HashMap.putAll(HashMap.java:780)
at org.springframework.data.util.TypeDiscoverer.resolveType(TypeDiscoverer.java:168)
at org.springframework.data.util.ParameterizedTypeInformation.calculateTypeVariables(ParameterizedTypeInformation.java:269)