1

我创建了这个映射方法:

  public abstract User map(UserDTO user);

  @Mapping(source = "user.roles", target = "rolesIds")
  public abstract UserDTO mapWithRoles(User user, boolean roles);

正如您所看到的,这两种方法具有相同的签名,当涉及到其他实体中的隐式映射时,这会导致错误。我现在通过将“角色”参数添加到第二种方法来解决它,该方法只是为了制作不同的方法签名。

问题是我在存储库上有两种方法来获取用户,一种有权限,另一种没有权限,我需要将加载的权限映射到 DTO 上的权限 ID。

如何制作两种注释不同但签名相同的映射方法?

4

1 回答 1

0

@Named根据您的默认方法应该是哪种方法,您应该使用或自定义注释其中一个@Qualifier@Mapper#qualifiedBy如果是这种情况,则不会考虑带注释的方法,只有在or中显式使用它时才会考虑@Mapper#qualifiedByName

有关更多信息,请查看参考文档中的此处

于 2017-06-21T22:30:31.213 回答