问题标签 [mapstruct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
15133 浏览

java - 如果 Dto 使用 MapStruct 具有 Id,则将 dto 映射到从数据库中检索的实体

我正在使用MapStruct进行dto <-> entity映射。相同的映射器用于从 dto创建 更新实体。对 dto 的 id 进行验证以了解是否必须创建新实体 (id == null) 或者应该从数据库中检索 (id != null)。

我实际上使用MapperDecorator作为解决方法。例子 :

映射器

装饰器

但是由于必须为每个映射器创建一个装饰器,这个解决方案变得很重。

有什么好的解决方案来执行吗?


我在用着 :

  1. 地图结构:1.1.0
0 投票
1 回答
450 浏览

maven - Gradle 自定义编译

我想实现以下我在 gradle 中使用 maven 所做的事情:

我正在做的是禁用默认编译,编译除我的 Mapstruct 映射器之外的所有源文件,然后编译 Mapstruct 映射器,包括之前编译的源。我是 gradle 新手,不知道如何实现类似的目标。到目前为止,我尝试过的是:

结果实际上是什么都没有编译。我想这样做的原因是我想在我的项目中使用 lombok 和 mapstruct。

0 投票
1 回答
2610 浏览

mapstruct - src/test/java 中的 Mapstruct 映射器不是由 maven build 生成的

正如标题所说,我有一个映射器接口src/test/java,它不是由mapstruct处理器生成的。

在同一个项目中,src/main/java会生成所有的映射器。这是预期的行为吗?

如何在测试源中生成映射器?

编辑(更多信息):

简化的 Maven 模块结构:

pom.xml 的root_project

的 pom.xmlmodule_1基本上是空的:

0 投票
2 回答
490 浏览

java - Mapper 的 Mapstruct 原型

我正在使用 Spring,我从项目中的 mapstruct 库开始,所以我想为 @Mapper(componentModel = "spring") 创建原型注释,如 @SpringMapper。但它不会生成任何映射器。

这是不可能的还是我做错了什么?

0 投票
1 回答
41993 浏览

java - Mapstruct:仅针对集合映射忽略特定字段

我正在使用以下映射器来映射实体:

我只需要忽略映射为集合的实体的“数据”字段。但它看起来@Mapping只适用于单个实体。另外我注意到生成的方法assigmentFilesToAssigmentFileDTOsassigmentFileToAssigmentFileDTO在for循环中使用。有什么解决办法吗?

0 投票
1 回答
5765 浏览

java - Mapstruct从字符串到嵌套对象,用于具有相同类型的多个字段

我有带有字段的实体类:

  1. 客户端发件人;
  2. 客户收件人;

我有带有字段的 DTO 类:

  1. 长发件人ID;
  2. 长收件人ID;

如果我这样做:

Mapstruct 将生成如下代码:

Mapstruct 为发件人和收件人获取收件人 ID,而不是收件人 ID 来创建客户端收件人和发件人 ID 来创建客户端发件人。

所以我发现的更好的方法是使用我所看到的不太优雅的表达式:

你能建议我如何映射它们吗?

0 投票
1 回答
2439 浏览

mapstruct - 如何将字符串属性映射到列表的第一个元素财产?

我有一个 CXF 生成的类,它有一个集合作为它的唯一属性。我需要将 DTO 中的单个值映射到该集合的元素中,如下所示:

这真的应该工作吗?如果是这样,我该如何配置此映射?

0 投票
2 回答
7625 浏览

java - 使用mastruct将null设置为目标

我正在使用 mapstruct,我想知道是否有任何方法可以为某些目标属性设置空值。例如,

我会喜欢上面的源代码、dto 和映射器来生成下面的源代码,

0 投票
1 回答
6367 浏览

java - 如何使用 mapstruct 将枚举映射到布尔值?

我有一些自动生成的枚举,我需要将它们映射到 MapStruct 映射器中的布尔值。他们是这样的:

我尝试使用@ValueMappings(),但没有成功:

我怎样才能实现这个映射?

0 投票
3 回答
2336 浏览

java - 我如何结合 Guice 和 Mapstruct?

我正在使用球衣和 Guice DI,我想使用带有@Inject注释的 Mapstruct 接口。那么有什么方法可以强制 Guice 自动装配 Mapstruct 接口实现吗?