Почему коллекции карт ModelMapper объединяются в стиле? - PullRequest
1 голос
/ 16 марта 2019

В моем приложении я сопоставляю объекты передачи данных объектам, используя библиотеку ModelMapper.

Одна сущность Library имеет коллекцию (java.util.Set), содержащую другие сущности Book. Пользователь должен иметь возможность изменять содержимое коллекций.

В этом случае используется объект передачи данных UpdateDTO, который содержит идентификаторы сущностей Book для хранения в коллекции.

Бэкэнд сопоставляет UpdateDTO с сущностью Library, используя ModelMapper.

Теперь предположим, что пользователь удаляет сущность Book из коллекции Library. UpdateDTO теперь содержит список всех сущностей Book без тех, которые были удалены пользователем.

Я ожидаю, что в коллекции отсутствуют объекты Book, удаленные пользователем, когда ModelMapper отображает UpdateDTO на объект Library. Но, в отличие от моих ожиданий, возвращаемая сущность Library все еще содержит все Book сущности.

Почему это так? Я прикрепил «проблему» к этим строкам в CollectionConverter [0].

[0] https://github.com/modelmapper/modelmapper/blob/master/core/src/main/java/org/modelmapper/internal/converter/CollectionConverter.java#L62-L63

1 Ответ

1 голос
/ 17 марта 2019

В репозитории ModelMapper содержится проблема [0], касающаяся той же проблемы, объяснение того, как работает текущая реализация, и код, так что ModelMapper удаляет элементы, если исходный размер меньше размера назначения.

[0] https://github.com/modelmapper/modelmapper/issues/423

...