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 ответ
Это известная ошибка в MapStruct 1.2.0.Final. Это было исправлено начиная с 1.3.0.Beta2 (последняя версия на момент ответа).
Сообщенная проблема для этого была https://github.com/mapstruct/mapstruct/issues/1558.
Проблема может быть замечена только когда аннотации типа ElementType.TYPE_VAR
были использованы для примитивных массивов. Такая же проблема может быть замечена, если int[]
(например) используется.