我看到了许多Mapper或@BeforeMapping的示例,这些示例将修改源对象。
我想在映射之前替换源对象,而不是修改源。这可能吗?
通过示例,我将返回一个增强类(CGlib),该类将以我想要的方式对待属性。
想法:
我正在使用MapStruct将@Entity转换为DTO。我想要一个较小的有效载荷。 现在,当有效负载中不需要这些字段时,根据我的“ mappingContext”将字段设置为null。
我想尽可能不要在@Entity对象中设置字段值,因为如果对象仍附加到session / EntityManager上,这可能导致数据库更改。 (或者将它们重新合并到db)。
我也不想使用“ em.detach”,因为这意味着我的映射器在映射之前或之后与代码“魔术地结合”了。