> In version 2.0, all POJOs are immutable and must be created through a builder.
I appreciate the immutable-by-default conventions. But conversely, I'm not excited about more Java boilerplate conversion nonsense. You have to call toBuilder() to serialize it, and another build() to deserialize it. And you confusingly ser/de the builder class, not the POJO itself. Between Streams and builders and factories, reading Java code is an exercise in learning to ignore fluff and bullshit, and finding the narrow thread of stuff that actually matters in your program.
I appreciate the immutable-by-default conventions. But conversely, I'm not excited about more Java boilerplate conversion nonsense. You have to call toBuilder() to serialize it, and another build() to deserialize it. And you confusingly ser/de the builder class, not the POJO itself. Between Streams and builders and factories, reading Java code is an exercise in learning to ignore fluff and bullshit, and finding the narrow thread of stuff that actually matters in your program.