As addition to other solutions, @JsonProperty annotation is absolutely critical if you use the @JsonCreator annotation in lessons which don't have a no-arg constructor. Names are much better at readability and preventing mistakes, than tuples subscripting, specially when This really is being handed outdoors of the current module. Lazy Initialization: https://elancommercial82.blogspot.com