J'ai les entités suivantes (les parties inutiles ont été omises pour des raisons de concision):
public class Site {
private UUID uuid;
private UUID countryUuid;
}
public class Country {
private UUID uuid;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String code;
@Column(nullable = false)
private Currency currency;
}
J'ai une List
de Site
et j'essaie de créer une Map
pour la paire siteUuid
et Currency
. J'ai essayé quelque chose comme indiqué ci-dessous en utilisant la liste de pays mais je n'ai pas réussi.
// obtenir la liste des sites
final List siteList = siteService.findAllByUuidIn(siteUuidList);
// puis obtenir la liste des pays
final List countryList = siteList.stream()
.map(SiteDTO::getCountry).collect(Collectors.toList());
// puis essayer de les mapper en Currency
final Map uuidCurrencyMap = countryList
.stream().collect(Collectors.toMap(CountryDTO::getUuid, Function.identity()));
Cependant, uuidCurrencyMap
donne des paires de countryUuid
- Currency
, mais j'ai besoin de paires de siteUuid
- Currency
. Est-ce possible?