What is the preferred way to create class that is
The simplest way to configure immutable class for Jackson is to use lombok annotation: @Value and @Jacksonized:
@Jacksonized @Builder @Value class Foo { }