Don&#x27;t use setters and getters in your models.<p>Use public fields, add getters and setters if you have to. Serialize your POJOs using Jackson. All modern data frameworks can deal with public fields just as well as getter&#x2F;setter combinations.<p>(Unless you are publishing a public API. In that case, you can&#x27;t easily convert a public field to a private field&#x2F;getter&#x2F;setter setup if needed, as the cat is out of the bag and clients have code against the public field.)<p>Do I wish there were auto properties like C#? Oh yeah, I&#x27;d love that. But I do find modeling fairly easy.<p>I also lament having to manually maintain equals&#x2F;compare&#x2F;hashCode&#x2F;toString implementations. However, with IDE auto-generation of code (using IntelliJ) makes this merely noisy and annoying, and not a time sink or a constant source of dumb errors.