Kotlin getter override + MongoDB

Я новичок в разработке Kotlin, и я не могу понять, как справиться с этой проблемой. У меня есть следующий класс данных Kotlin, сопоставленный с коллекцией MongoDB (Spring Data MongoDB):

@Document(collection = "orders") data class OrderEntity @PersistenceConstructor constructor(@Id val id: ObjectId? = null, val place: String, var date: Date, val closed: Boolean = false, val price: Int = 0) 

Я хочу переопределить получателя id по умолчанию и вернуть строку вместо ObjectId. Кажется, что имя поля «id» не может быть изменено, потому что я получаю сообщение «Невозможно изменить имя поля для свойства id! Пользовательское имя не будет рассмотрено!» поэтому я не могу использовать решение _id, которое всегда предлагается.

Как можно добиться этого? Я что-то упускаю?

Я не дожил до последней версии и приветствует изменения Spring-data-mongo, но если вы просто измените свой идентификатор на тип String? вместо ObjectId, и ваше строковое значение оказывается «шестнадцатеричным» представлением шестнадцатеричного кода объекта ObjectId, данные пружины будут автоматически преобразовывать это в ObjectId при сохранении в базу данных и автоматически переводить ObjectId в строку при чтении ее обратно к фасоли.

В основном весна-данные-манго делает для вас волшебство. Я сомневаюсь, что они изменили это поведение с 1.x дней, но я могу ошибаться.