mapstruct在实现中添加注解

zkure5ic  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(531)

我和你有关系 byte[] 字段,与我的dto对象中的字段相同。在这两个类中,这些字段都被注解为 @NotNull . 问题是mapstruct生成如下代码:

(@javax.validation.constraints.NotNull :: byte)[] data = file.getData();

而不是

byte[] data = file.getData()

我可以用这样的注解

@Mapping(ignore = true, source = "data", target = "data")

来“解决”这个问题,并在我的服务中设置这些字段,但我认为这不是最好的解决方案。
问题只会发生在这个 byte[] ,其他方面没有问题 @NonNull 领域。

bkkx9g8r

bkkx9g8r1#

这是mapstruct 1.2.0.final中的一个已知错误。它从1.3.0.beta2(本答案发布时的最新版本)起就被修复了。
报告的问题是mapstruct/mapstruct#1558。
只有当类型的注解 ElementType.TYPE_VAR 用于基本数组。同样的问题可以看出如果 int[] 使用(例如)。

相关问题