Сопоставьте одно свойство класса с каждым объектом в списке другого класса.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сопоставьте одно свойство класса с каждым объектом в списке другого класса.

Сообщение Anonymous »

Используя MapStruct, я хотел бы сопоставить RecipientDTO с Recipient. Я хочу, чтобы AddressDTO из RecipientDTO стал адресом в каждой подписке Recipient.subscriptions. Как мне добиться этого с помощью MapStruct? Мои занятия выглядят так:
public class AddressDTO {
String street;
String city;
}

public class SubscriptionDTO {
String category;
}

public class RecipientDTO {
String name;
AddressDTO address;
List subscriptions;
}

public class Address {
String street;
String city;
}

public class Subscription {
Address address;
String category;
}

public class Recipient {
String name;
List subscriptions;
}

Я попробовал указать отдельный интерфейс сопоставления для подписки. Итак
@Mapper
public interface SubscriptionMapper {
SubscriptionMapper INSTANCE = Mappers.getMapper(SubscriptionMapper.class);

@Mapping(target = "address", source = "addressDTO")
Subscription toSubscription(SubscriptionDTO dto, AddressDTO addressDTO);
}

Это создаст картограф для подписки.
Но когда я это сделаю
@Mapper(uses = SubscriptionMapper.class)
public interface RecipientMapper {
RecipientMapper INSTANCE = Mappers.getMapper(RecipientMapper.class);

Recipient toRecipient(RecipientDTO recipientDTO);
}

он ​​не будет использовать метод сопоставления с дополнительным параметром из SubscriptionMapper.
Я хотел бы сделать что-то вроде этого, если это возможно:
@Mapping(target = "subscriptions.address", source = "address")
Recipient toRecipient(RecipientDTO recipientDTO);


Подробнее здесь: https://stackoverflow.com/questions/790 ... ther-class
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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