[fixes #2991] Add documentation note on mixing mapstruct and fieldnameconstants in @Mapping.

This commit is contained in:
Reinier Zwitserloot committed 2022-03-17 23:26:35 +01:00
1 parent e01bead93e
commit dbd4151e9a
1 file changed
+2
@@ -58,6 +58,8 @@
Any parameters of lombok annotations that take strings need to be supplied actual string literals; you cannot have references to constants like those generated by <code>@FieldNameConstants</code>. If you'd like to use <code>@FieldNameConstants</code> to for example fill in the <code>of</code> and/or <code>exclude</code> parameters of <code>@ToString</code> and similar lombok annotations, use the <code>@ToString.Include</code> / <code>@ToString.Exclude</code> etc system instead; these are described at the feature pages for those features.
</p><p>
Like other lombok handlers that touch fields, any field whose name starts with a dollar (<code>$</code>) symbol is skipped entirely. Such a field will not be modified at all. Static fields are also skipped.
</p><p>
<em>MapStruct interop:</em> When making references to field name constants inside MapStruct's <code>@Mapping</code>, and you use that annotation more than once on a node, you must manually wrap these in the <code>@Mappings</code> 'container annotation'. Like so: <code>@Mappings({@Mapping(target = Entity.Fields.entityProperty, source = "dtoProperty")})</code>.
</p>
</@f.smallPrint>
</@f.scaffold>