在我的應用程序中,我使用 ModelMapper 庫將數據傳輸對象映射到實體。一個實體有一個包含其他實體的集合 ()。用戶應該能夠更改集合內容。Libraryjava.util.SetBook在這種情況下,將使用包含要存儲在集合中的實體的標識符的數據傳輸對象。UpdateDTOBook后端使用 將 映射到實體。UpdateDTOLibraryModelMapper現在假設用戶從 的集合中刪除了一個實體?,F在包含所有實體的列表,其中沒有用戶刪除的實體。BookLibraryUpdateDTOBook我希望集合缺少用戶在映射到實體時刪除的實體。但與我的預期不同,返回的實體仍包含所有實體。BookModelMapperUpdateDTOLibraryLibraryBook為什么?我已將“問題”固定在[0]中的這些行中。CollectionConverter[0] https://github.com/modelmapper/modelmapper/blob/master/core/src/main/java/org/modelmapper/internal/converter/CollectionConverter.java#L62-L63
2 回答

偶然的你
TA貢獻1841條經驗 獲得超3個贊
的存儲庫包含有關同一問題的問題 [0],對當前實現如何工作的解釋,以及如果源大小小于目標大小,則代碼將刪除項目。ModelMapper
ModelMapper
[0] https://github.com/modelmapper/modelmapper/issues/423

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
默認情況下,合并列表是正確的,但您可以將其關閉:
ModelMapper mapper = new ModelMapper(); mapper.getConfiguration().setCollectionsMergeEnabled(false);
請參見:http://modelmapper.org/user-manual/configuration/
添加回答
舉報
0/150
提交
取消