Окружающая среда:
Spring-boot 2.1.2.RELEASE,
Spring-данные 2.1.4. РЕЛИЗ,
Котлин 1.2.х ~ 1.3.х,
MongoDB.
Я определил класс модели как:
@Document
class MeAccount : Setting() {
lateinit var id: String
val accountEntries = listOf<BankAccount>()
}
Когда я пытался прочитать эту модель из mongodb, я получил исключение трассировки стека:
java.lang.UnsupportedOperationException: No accessor to set property private final java.util.List com.xxx.MeCustodianAccount.accountEntries!
at com.xxx.MeCustodianAccount_Accessor_fs514j.setProperty(Unknown Source)
at org.springframework.data.mapping.model.ConvertingPropertyAccessor.setProperty(ConvertingPropertyAccessor.java:61)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readProperties(MappingMongoConverter.java:378)
Внимание, код отлично работает с spring-boot 1.5.x и spring-data 1.x.
Что я могу сделать, чтобы решить эту проблему?
Похоже, много похожих отчетов об исключениях ниже:
Изменение безопасности весенней загрузки 2.1.0 с использованием класса данных kotlin?
https://github.com/arangodb/spring-data/issues/123
https://github.com/spring-projects/spring-boot/issues/15698
[Решено] Работает после возврата к Spring-boot 2.0.x и spring-data-commons 2.0.x. Сохранит 2.1 исключенным в будущих планах обновления.