Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Mapeamento entre objetos

No dotnet por exemplo é muito comum usar o AutoMapper para fazer mapeamento entro objetos. Pelo que vi, aqui no java ele ja tem essa função nativa chamada .map que faz isso automaticamente?

4 respostas

Olá, Rodolfo

A sua pergunta é muito interessante. No mundo Java, existem várias maneiras de mapear objetos, mas a função .map que você mencionou não é nativa do Java para fazer o mapeamento de objetos como o AutoMapper faz no .NET. A função .map é usada em Streams no Java para transformar um objeto em outro, mas não é a mesma coisa que o mapeamento de objetos que o AutoMapper faz.

No entanto, existe uma biblioteca chamada ModelMapper que é similar ao AutoMapper do .NET e pode ser usada para mapear objetos de DTO (Data Transfer Object) para entidades e vice-versa.

Por exemplo, se você tem uma entidade Medico e um DTO MedicoDTO, você pode usar o ModelMapper para mapear uma para a outra assim:

ModelMapper modelMapper = new ModelMapper();
MedicoDTO medicoDTO = modelMapper.map(medico, MedicoDTO.class);

E o inverso também é possível:

Medico medico = modelMapper.map(medicoDTO, Medico.class);

Espero ter ajudado e bons estudos!

Opa, obrigado pela resposta. e qual voce usuaria para transformar esses objetos em java? voce usuaria a biblioteca ModelMapper ou a função .map?

solução!

A função .map é mais apropriada quando você está trabalhando com Streams em Java e deseja transformar uma coleção de objetos em outra coleção de objetos, aplicando uma função de mapeamento a cada elemento. Se você está apenas transformando objetos dentro de uma coleção, a função .map pode ser suficiente. No entanto, se você está fazendo mapeamentos mais complexos entre objetos, especialmente entre DTOs e entidades, o uso da biblioteca ModelMapper ou de uma alternativa semelhante é geralmente uma escolha mais adequada, pois facilita a manutenção e a personalização de mapeamentos.

obrigado