2010-05-13 6 views
13

Ho un sacco di oggetti di dominio java che ho bisogno di trasformare in DTO.Generazione di DTO e mapper da oggetti di dominio

Per favore, non iniziare con la cosa anti-pattern, gli Oggetti Dominio sono quello che sono a causa di una lunga storia, e non posso modificarli (o non troppo, vedi sotto).

Quindi, ovviamente, abbiamo passato l'età di fare tutto ciò manualmente. Mi sono guardato intorno e il bulldozer sembra la struttura ideale per la mappatura DTO.

Ma ... quello che mi piacerebbe davvero è: annotare classi e campi che voglio in DTO ed eseguire uno strumento che generi DTO e mappatori.

Non sembra troppo irragionevole?

Esiste già uno strumento del genere?

+0

Forse, ma potrebbe essere d'aiuto avere un'idea della lingua a cui ti riferisci. Java/.Net? – JasonTrue

+0

Sì ... mi dispiace ... mi sono reso conto dopo aver fatto la domanda. L'ho aggiornato. –

+0

Dozer è una scatola orribile, lenta, nera, difficile da debugare, difficile da gestire per tutti i tipi di problemi di mappatura delle collezioni, aggiornamento degli oggetti con qualsiasi tipo di relazione complessa, difficile da personalizzare ... ugh. Meglio scrivere la mappatura a mano: veloce, debuggabile, rifattabile tramite IDE. My 2 ¢ –

risposta

13

Considerare di verificare ModelMapper.

Si differenzia da Dozer e altri in quanto riduce al minimo la quantità di configurazione necessaria mediante il mapping intelligente dei modelli di oggetti. Dove è necessaria la configurazione, ModelMapper offre un'API sicura di refactoring che utilizza il codice effettivo per mappare proprietà e valori piuttosto che utilizzare riferimenti a stringhe o XML.

controllare il sito ModelMapper per maggiori informazioni:

http://modelmapper.org

+0

Non solo ModelMapper generare mappatori ma non DTO? – Alessio

6

Potreste essere interessati a MapStruct, un generatore di codice per JavaBeans mapper. Dovresti implementare il modello di origine (ad esempio gli oggetti del tuo dominio) e il modello di destinazione (ad es. DTO) e MapStruct genera codice sicuro per il tipo e veloce per la mappatura tra questi modelli (disclaimer: sono l'autore di questo progetto).

2

Questo thread è un po 'vecchio, ma se qualcuno sta ancora provando a farlo, http://www.dtonator.org/ è l'opzione migliore che ho trovato finora. È l'unico strumento che sono stato in grado di trovare che in realtà CREA i file DTO e non è legato a un framework specifico (Spring, Seam, ecc.) O IDE.