В моем приложении я сопоставляю объекты передачи данных объектам, используя библиотеку 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