A arquitetura em camadas exige que dados transitem entre a web (DTOs) e o banco de dados (Entidades). Mas como converter um no outro sem escrever dezenas de linhas de getters e setters? Neste post, vamos analisar a evolução do mapeamento de objetos no Java: por que o clássico BeanUtils pode ser um problema de performance na sua aplicação e como o MapStruct se tornou o padrão de mercado para resolver esse problema com segurança e velocidade.