Well, I know this thread is a bit outdated, and I'm sure @miguelcobain's answer is great.
Personnaly, I would recommend using Orika for a runtime system. It is strong and uses byte-code generation at runtime, so matching is handled by the generated code, and not always using the Reflection API. The other libraries listed always use complex configurations, not conventions.
The second solution and the best, I think, will use Selma . This small library does the job for you, but instead of processing the display at run time, it generates matching code at compile time using the annotation processor. Thus, the compiler will increase display errors, this is refactoring proof, and you can see the generated code.
I hope you try.
source share