Clase anotada Lombok inmutable con Jackson

¿Cuál es la forma preferida de crear una clase que es

InmutablePuede ser serializado / deserializado con JacksonLegible por humanos y con bajo nivel de repetitivo

Preferiblemente, me hubiera gustado que algo como esto funcionara:

@Data(onConstructor = @__(@JsonCreator))

y luego tener todos los campos para serprivate final. Sin embargo, esto ni siquiera se compila (y no estoy seguro de por qué). Utilizando

@AllArgsConstructor(onConstructor = @__(@JsonCreator))

compilará pero solo rendirá

InvalidDefinitionException: No serializer found for class

Respuestas a la pregunta(3)

Su respuesta a la pregunta