Skip to content

MapStruct

Mathieu Lavigne edited this page Mar 5, 2024 · 3 revisions

Builder

Attention quand on utilise un @Builder de Lombok, MapStruct se met à utiliser les builders générés par Lombok.

Cela peut poser plusieurs problèmes :

  • les getters "transient" (qui n'apparaissent pas dans les champs, donc pas non plus dans le builder) sont ignorés
  • les méthodes annotées @AfterMapping ne sont plus appelées car la @MappingTarget n'est plus de type T mais de type T.TBuilder

Si on ne souhaite pas prendre en compte les builders Lombok dans MapStruct, il faut ajouter l'annotation suivante au mapper :

@Mapper(builder = @Builder(disableBuilder = true))

Clone this wiki locally