Both `save` and `updateCity` calls can happen at the same millisecond,
therefore the `updatedAt` was not necessarily increased.
The `Thread.sleep` method doesn't mention any guarantees of increasing
the system time mentioned by `LocalDateTime` used in `CityEntity`, but
the tests didn't fail again with this change, even when run repeatedly.
- Usage of Kotlin JPA compiler plugin to generate default constructors
- Jackson builder already register Kotlin module with sensible defaults
- One liner syntax + type inference when possible