Aktywne Wpisy

iniacz +1821
źródło: 1000038041
Pobierz
MonazoPL +129
Ruszamy z nowym #rozdajo – wygraj kartę podarunkową do Allegro o wartości 100 zł!
Aby wziąć udział w konkursie, zaplusuj ten wpis oraz w komentarzu krótko odpowiedz na pytanie konkursowe: Jeśli wygrasz, na co wydasz (lub do czego dołożysz) to 100 zł? ( ͡~ ͜ʖ ͡°)
––––––––––––––––––––––––––––––
Przy okazji dajemy znać, że na Monazo właśnie ruszyła K O Z A C K A oferta od banku Citi Handlowy – za zamówienie
Aby wziąć udział w konkursie, zaplusuj ten wpis oraz w komentarzu krótko odpowiedz na pytanie konkursowe: Jeśli wygrasz, na co wydasz (lub do czego dołożysz) to 100 zł? ( ͡~ ͜ʖ ͡°)
––––––––––––––––––––––––––––––
Przy okazji dajemy znać, że na Monazo właśnie ruszyła K O Z A C K A oferta od banku Citi Handlowy – za zamówienie
źródło: citi dyson v8 monazo
Pobierz




Programuję już jakiś czas i tafiałem do projektów z różnymi frameworkami do mapowania i zaczynam się zastanawiać po co? Mapowanie klas wydaje się być czymś super prostym: zbiór getterów i setterów. Naprawdę potrzebujemy do tego frameworka? Ktoś potrafi mi dać jakiś sensowny argument za frameworkiem?
1. Nie musmy definiować wszystkich pół gdy nazwa jest taka sama - OK, ale jak zrobimy refactoring i zmieni nam się nazwa pola/gettera to mapper przestanie działać. Chyba lepiej mieć nad tym kontrolę?
2. Definiujemy tylko pole jakie mają się mapować i reszte zrobi framework - To co wyżej. Zmienimy nazwę pola (Stringa) to IDE nam nie podmnieni tych Stringów "name" -> "firstName"
Po prostu trzeba myśleć co się robi i mieć testy
¯\_(ツ)_/¯
Czym się różni sytuacja gdzie zapomnisz zmienić mapping, od zapomnienia wywołania settera?
Jeśli nie wyj***e ci się żaden unit kiedy pole w modelu przestało być ustawiane, to gratuluję wiary w swój codebase.
Mapper, który jest napisany ręcznie tego nie zrobi.
Kiedyś były frameworki mapujące czasu wykonania, typu Orika. To generalnie było słabe. Obecne wynalazki działają w czasie kompilacji i wydajnościowo niczym się to nie różni od ręcznie pisanej litanii setterów.
Mapstruct ma plugin do intellij, podpowiada dość dobrze. Jedyne wywałki, to jak stosujesz zapis target = "entityA.entityB.fieldC", bo wtedy nie