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[] (например) используется.

Другие вопросы по тегам