MapStruct: Difference between BeanMapping and Mapping
Asked Answered
I

2

7

I have been going through the documentation of MapStruct and can't seem to figure out when the annotation @BeanMapping should be used. The documentation seems to extensively use just @Mapping for most cases as well. Could someone explain the use of @BeanMapping annotation? Perhaps with an example?

Isagogics answered 29/3, 2019 at 12:7 Comment(0)
O
9

The @Mapping annotation is one of the core annotation of MapStruct. It allows you to define mappings between properties that are not named the same. From the JavaDoc:

Configures the mapping of one bean attribute.

The @BeanMapping annotation is there to control the behaviour of the entire mapping method. You can use @BeanMapping to set the NullValueCheckStrategy for the entire mapping method. From the JavaDoc:

Configures the mapping between two bean types

Ortega answered 29/3, 2019 at 19:48 Comment(0)
A
3

simply @BeanMapping let you customize the mapping process.

example 1: @BeanMapping(ignoreByDefault = true) means No automatic mapping will take place, so All mappings have to be defined manually.

example 2: @BeanMapping(ignoreUnmappedSourceProperties = {"title"}) means ignore title field during the mapping process

Ar answered 19/12, 2021 at 10:9 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.