Серилизация даты и времени LocalDateTime библиотекой jackson databind 2.12
В библиотеке jackson databind 2.12 которая входит в состав spring boot 2.5.0 были обновлены правила работы с классом LocalDateTime. В версии jackson databind 2.11 (spring boot 2.4.0) объект класса LocalDateTime сериализовывался как обычный POJO:
{"nano":723447300,"year":2021,"monthValue":10,"dayOfMonth":25,"hour":13,"minute":25,"second":36,"month":"OCTOBER","dayOfWeek":"MONDAY","dayOfYear":298,"chronology":{"id":"ISO","calendarType":"iso8601"}}
а в версии 2.12 так возникает ошибка "Java 8 date/time type java.time.LocalDateTime not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling", она устраняется подключением библиотеки jsr310 и настройкой mapper.findAndRegisterModules();
но тогда формат преобразования становится такой "2021-10-25T12:48:56.6888879"
Я не один столкнулся с этой проблемой, вот здесь https://github.com/spring-projects/spring-boot/issues/26859 есть большая ветка обсуждения, но решения найти не удалось.
Как вернуть старый формат сериализации в новой версии?
ps: даунгрейднуть библиотеку в составе spring boot 2.5.0 также не удаётся, после добавления
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.4</version>
</dependency>
возникает исключение: Scala module 2.12.5 requires Jackson Databind version >= 2.12.0 and < 2.13.0 И попытка даунгрейдунть Scala ведёт к прочим исключениям.