@Builder на Ломбоке с Mapstruct переопределяет значения атрибута класса по умолчаниюJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 @Builder на Ломбоке с Mapstruct переопределяет значения атрибута класса по умолчанию

Сообщение Anonymous »

В настоящее время мы реализуем реализацию Lombok в большом приложении. В основном одним из преимуществ, которым мы хотим воспользоваться, является использование @Builder.
Для этого мы внедрили в Spring boot 3.2.4 версии Lombok 1.18.30 в сочетании с Mapstruct 1.5.5.Final и соответствующей зависимостью для их реализации lombok-mapstruct-binding:0.2.0.
Проблема, с которой мы сталкиваемся, связана с поколением картографов. Они перезаписывают значения инициализации атрибутов классов. Например:

Код: Выделить всё

@Column(name = "my_class_attribute",
columnDefinition = "double default 4250")
private double my_class_attribute = 4250;
Построение преобразователя следующим образом:

Код: Выделить всё

 @Override
public MyEntity toEntity(MyDataTransferObject source) {
if ( source == null ) {
return null;
}

MyEntity.MyEntityBuilder myEntity = MyEntity.builder();
Эта последняя строка myEntity.builder(); записывает значения по умолчанию для инициализации.
Являясь Приложение, содержащее значительный объем кода, мы не считаем пригодным для обслуживания и действительно безопасным для аннотирования @Builder.Default тех атрибутов, которые имеют значение инициализации. Это вызовет большую погрешность, которую невозможно будет проверить во время компиляции.
Мы рассмотрели другие варианты, но не видим ни одного, который мог бы быть объявлен глобально, например, в ломбоке. файл конфигурации конфигурации. Есть идеи, как решить эту проблему? Заранее большое спасибо за ваше время и помощь.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ult-values
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»