2010-05-13 19 views
13

DTO'lara dönüştürmem gereken birçok java etki alanı nesnesine sahibim. Anti-desen şeyle başlamayın DTO ve Etki Alanı Nesneleri Eşleştirmesi Nesne Nesneleri

Lütfen

, Alan Nesneler nedeniyle uzun bir tarihin o'yuz ve ben (değil çok fazla veya aşağıya bakınız) bunları değiştiremez.

Elbette, tüm bunları el ile yapma yaşını geçtik. Çevreye baktım ve dozer DTO haritalama için tercih edilen çerçeve gibi görünüyor.

Ama ... ne gibi gerçekten istiyorum şudur: Ben DTO istediğiniz sınıflar ve alanları açıklama ve DTOs ve haritacıları üretecek bir aracı çalıştırmak.

Bu ses çok mantıksız mı?

Böyle bir araç zaten var mı?

+0

Muhtemelen, ama hangi dilde atıfta bulunduğuna dair bir fikir edinmeye yardımcı olabilir. Java/.Net? – JasonTrue

+0

Evet ... üzgünüm ... Soruyu sorduktan sonra farkettim. Onu güncelledim. –

+0

Dozer, korkunç, yavaş, siyah bir kutu, hata ayıklaması zor, koleksiyonları eşleştiren her türlü problemi korumak zor, nesneleri herhangi bir karmaşık ilişkiyle yerinde güncelleştirmek, özelleştirmesi zor .... ugh. Haritanızı el ile yazmak daha iyidir: hızlı, hata ayıklanabilir, IDE yoluyla yeniden doldurulabilir. Benim 2 ¢ –

cevap

13

ModelMapper'a bakmayı düşünün. akıllıca haritalama nesne modellerinin ihtiyaç duyduğu yapılandırma miktarını en aza indirir olmaları sebebiyle Dozer ve diğerlerinden farklıdır

. Yapılandırmanın gerekli olduğu durumlarda, ModelMapper, dize referansları veya XML kullanmak yerine, özellikleri ve değerleri eşlemek için gerçek kodu kullanan bir refactoring güvenli API sunar.

Kontrol dışarı daha fazla bilgi için ModelMapper sitesi:

http://modelmapper.org

+0

Yalnızca ModelMapper değil Harita oluşturucular değil, DTO'lar oluşturuyor musunuz? – Alessio

6

doludur. Kaynak modeli (ör. Etki alanı nesneleriniz) ve hedef modeli (ör. DTO'lar) uygulamanız gerekir ve MapStruct bu modeller arasında eşleme için tür güvenli ve hızlı kod oluşturur (sorumluluk reddi beyanı: Bu projenin yazarıyım).

2

Bu iş parçacığı biraz eski, ama herkes hala bu yapmaya çalışıyor ise, http://www.dtonator.org/ şimdiye kadar bulduk en iyi seçenektir. Aslında DTO dosyalarını CREATE ettiğini ve belirli bir çerçeveye (Spring, Seam, vb.) Veya IDE'ye bağlı olmadığını fark ettiğim tek araç bu.