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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top