У меня есть Y внутри X и ZDTO внутри YDTO, но внутри Y нет Z.
Я хочу сопоставить X с XDTO с помощью такого метода, как XDTO xToXDTO(X x, Z z)
Дано X,Y,Z как следует:
public class X {
private Y y;
private Integer xa;
private Integer xb;
}
public class Y {
private Integer ya;
private Integer yb;
}
public class Z {
private Integer za;
private Integer zb;
}
И их DTO следующим образом:
public class XDTO {
private YDTO y;
private Integer xa;
private Integer xb;
}
public class YDTO {
private ZDTO z;
private Integer ya;
private Integer yb;
}
public class ZDTO {
private Integer za;
private Integer zb;
}
У меня есть класс Mapper:
@Mapper
public interface XYZMapper {
XDTO xToXDTO(X x, Z z);
YDTO yToYDTO(Y y, Z z);
ZDTO zToZDTO(Z z);
}
Я ожидаю, что преобразователь вызовет yToYDTO для сопоставления Y с YDTO, но когда я вижу сгенерированный код, я вижу, что он создал yToYDTO1 и не использует YDTO yToYDTO(Y y, Z z)
Это код, сгенерированный MapStruct
public XDTO xToXDTO(X x, Z z) {
if ( x == null && z == null ) {
return null;
}
XDTO xDTO = new XDTO();
if ( x != null ) {
xDTO.setY( yToYDTO1( x.getY() ) );
xDTO.setXa( x.getXa() );
xDTO.setXb( x.getXb() );
}
return xDTO;
}
Источник: https://stackoverflow.com/questions/781 ... ple-source
Карта Mapstruct, вложенная из нескольких источников ⇐ JAVA
Программисты JAVA общаются здесь
1710411070
Гость
У меня есть Y внутри X и ZDTO внутри YDTO, но внутри Y нет Z.
Я хочу сопоставить X с XDTO с помощью такого метода, как XDTO xToXDTO(X x, Z z)
Дано X,Y,Z как следует:
public class X {
private Y y;
private Integer xa;
private Integer xb;
}
public class Y {
private Integer ya;
private Integer yb;
}
public class Z {
private Integer za;
private Integer zb;
}
И их DTO следующим образом:
public class XDTO {
private YDTO y;
private Integer xa;
private Integer xb;
}
public class YDTO {
private ZDTO z;
private Integer ya;
private Integer yb;
}
public class ZDTO {
private Integer za;
private Integer zb;
}
У меня есть класс Mapper:
@Mapper
public interface XYZMapper {
XDTO xToXDTO(X x, Z z);
YDTO yToYDTO(Y y, Z z);
ZDTO zToZDTO(Z z);
}
Я ожидаю, что преобразователь вызовет yToYDTO для сопоставления Y с YDTO, но когда я вижу сгенерированный код, я вижу, что он создал yToYDTO1 и не использует YDTO yToYDTO(Y y, Z z)
Это код, сгенерированный MapStruct
public XDTO xToXDTO(X x, Z z) {
if ( x == null && z == null ) {
return null;
}
XDTO xDTO = new XDTO();
if ( x != null ) {
xDTO.setY( yToYDTO1( x.getY() ) );
xDTO.setXa( x.getXa() );
xDTO.setXb( x.getXb() );
}
return xDTO;
}
Источник: [url]https://stackoverflow.com/questions/78159484/mapstruct-map-nested-from-multiple-source[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия