У меня есть overrides
интерфейс, который я создал, чтобы объединить 2 класса данных - вот так:
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"
}
}
Однако всякий раз, когда я go запускаю это, я получаю ошибку:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [co.....models.Overrides]: Specified class is an interface
Может кто-нибудь объяснить, что мне нужно сделать, чтобы используйте этот тип Overrides
. Я расширяю интерфейс таким образом, чтобы я мог иметь несколько классов под одним именем, но не уверен, почему он не работает?
Я думаю, я мог бы просто использовать val overrides: List<*>? = null
Любая помощь приветствуется.
Спасибо.