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


繁花如伊
浏览 205回答 1
1回答

慕容3067478

这是 MapStruct 1.2.0.Final 中的一个已知错误。自 1.3.0.Beta2 以来已修复(此答案时的最新版本)。报告的问题是mapstruct/mapstruct#1558。ElementType.TYPE_VAR只有在将类型的注释用于原始数组时才能看到问题。int[]如果使用(例如),则可以看到相同的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java