我和你有关系 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
领域。
1条答案
按热度按时间bkkx9g8r1#
这是mapstruct 1.2.0.final中的一个已知错误。它从1.3.0.beta2(本答案发布时的最新版本)起就被修复了。
报告的问题是mapstruct/mapstruct#1558。
只有当类型的注解
ElementType.TYPE_VAR
用于基本数组。同样的问题可以看出如果int[]
使用(例如)。