Я посмотрел логи и оказалось, что порядок где-то меняется при конвертации из dto в сущность. Все маппинг происходит с использованием библиотеки Mapstruct и я подозреваю, что виноват метод CountryDTOListToCountrySet. Но я не могу найти никакой информации о том, можно ли спутать порядок при преобразовании из списка в набор. Может ли это случиться? А если нет, то как я могу зарегистрировать класс картографа, созданный Mapstruct? Чтобы я мог видеть, что происходит на каждом этапе сопоставления DTO с сущностью.
В моем случае в сущности есть поле.
Код: Выделить всё
private Set transitCountries = new HashSet();
Код: Выделить всё
private List transitCountries;
И это то, что генерирует Mapstruct
Код: Выделить всё
protected Set countryDTOListToCountrySet(List list) {
if ( list == null ) {
return null;
}
Set set = new HashSet( Math.max( (int) ( list.size() / .75f ) + 1, 16 ) );
for ( CountryDTO countryDTO : list ) {
set.add( countryDTOToCountry( countryDTO ) );
}
return set;
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... f-elements
Мобильная версия