我有一个
overrides
我创建的接口是为了组合两个数据类,如下所示:
interface Overrides
data class SoOverrides(
val soId: String,
val freeInterval: String?
) : Overrides
data class CoOverrides(
val coId: String,
val pubType: String,
) : Overrides
然后,我试图将主数据类中的项目类型设置为
Overrides
像这样:
@Document(collection = Campaign.COLLECTION)
data class Campaign(
@Id
val id: String,
val title: String,
val overrides: List<Overrides>? = null
) {
companion object {
const val COLLECTION: String = "campaigns"
}
}
然而,每当我运行此程序时,我都会收到错误:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [co.....models.Overrides]: Specified class is an interface
有人能解释一下我需要做什么才能使用那种类型吗
覆盖范围
。我正在以这种方式扩展接口,这样我就可以在一个名称下拥有多个类,但不确定为什么它不起作用?
我想我可以用
val overrides: List<*>? = null
任何帮助感谢。
谢谢。