Alternativa para dozer para mapeamento de feijão? [fechadas]
-
05-07-2019 - |
Pergunta
Eu estou tentando descobrir uma maneira fácil de mapear DTOs a entidades sem o código de caldeira-plate. Enquanto eu estava pensando em usar lâmina parece exigir um monte de configuração XML. Alguém viu uma alternativa lâmina que usa uma DSL para configurar o mapeamento de feijão em puro Java?
Idealmente, eu estou esperando para encontrar um mapeador de feijão que é inspirado pela maneira Guice faz as coisas.
Solução
Eu estava procurando por alternativas também.
Aqui é uma cobertura muito boa de diferentes opções .
Outras dicas
Orika .
Orika é um framework de mapeamento Java Bean que copia recursivamente (entre outras capacidades) dados a partir de um objeto para outro. Pode ser muito útil ao desenvolver aplicações multi-camadas.
Do meu ponto de vista, o código de configuração ou java para mapear algumas propriedades especiais são sempre necessários.
Aqui eu quero dar uma DO
e DTO
por exemplo
DO:{
id: "id",
name:"name",
doName1: "doName1",
nestedObj: {
id: "nestedObjId",
name: "nestedObjName"
}
}
DTO{
id: "",
name: "",
name1: "" // for mapping doName1 in DO.
nestedId: "", //for DT.nestObj.id
nestedName: "", //for DT.nestObj.name
}
Para Dozer ou Orika ambos podem corresponder automaticamente id e propriedade de nome entre DO e DTO sem qualquer código de configuração ou java porque eles estão com os mesmos nomes de propriedades e tipos.
Mas se você quiser DO.doName1
<----> DTO.name1
ou DO.nestedObj.id
<---> DTO.nestedId
você precisa fazer alguma configuração (via XML ou Java) para contar a ferramenta de mapeamento que você está a intenção de fazer isso.
Eu acho que para o seu caso de uso, Dozer, Orika e ModelMapper são todos OK. Mas para mim, eu estou passando meu projeto da lâmina de Orika para fins de desempenho. Embora Orika não é tão maduro como lâmina, não tão inteligência e me obriga a fazer um trabalho adicional muito para manter minhas configurações de mapeamento personalizadas.
Se o seu projeto não muito se preocupam com o desempenho Vou recomendar você dozer, é tão fácil de usar e suporte para muitos recursos avançados. Caso contrário, se você está comprando de alta performance, eu sugiro que você Orika.