gpt4 book ai didi

java - 为什么 ModelMapper 以合并方式映射集合?

转载 作者:行者123 更新时间:2023-11-30 05:43:47 26 4
gpt4 key购买 nike

在我的应用程序中,我使用 ModelMapper 库将数据传输对象映射到实体。

一个实体Library有一个包含其他实体Book的集合(java.util.Set)。用户应该能够更改集合内容。

在本例中,使用数据传输对象 UpdateDTO,其中包含要存储在集合中的实体 Book 的标识符。

后端使用 ModelMapperUpdateDTO 映射到实体 Library

现在假设用户从 Library 集合中删除实体 BookUpdateDTO 现在包含 Book 的所有实体的列表,不包括被用户删除的实体。

我希望当 ModelMapperUpdateDTO 映射到实体 Library 时,集合会丢失用户删除的实体 Book 。但与我的预期不同,返回的实体 Library 仍然包含所有 Book 实体。

这是为什么?我已将“问题”锁定在 CollectionConverter [0] 中的这些行。

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

最佳答案

ModelMapper 的存储库包含有关同一问题的问题 [0]、有关当前实现如何工作的解释以及代码,以便 ModelMapper 在源大小时删除项目小于目标大小。

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

关于java - 为什么 ModelMapper 以合并方式映射集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55200855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com