Mapstruct在实现中添加注释

时间:2019-02-04 10:03:11

标签: java spring spring-boot mapstruct

我的实体带有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 个答案:

答案 0 :(得分:0)

这是MapStruct 1.2.0.Final中的一个已知错误。自1.3.0.Beta2(此答案发布时的最新版本)以来,该问题已得到修复。

报告的问题是mapstruct/mapstruct#1558

仅当将ElementType.TYPE_VAR类型的注释用于基本数组时,才能看到此问题。如果使用int[](例如),则会看到相同的问题。