在我的应用程序中,我使用 ModelMapper 库将数据传输对象映射到实体。
一个实体Library有一个包含其他实体的集合( java.util.Set) Book。用户应该能够更改集合内容。
UpdateDTO在这种情况下,使用包含Book要存储在集合中的实体的标识符的数据传输对象。
后端使用映射UpdateDTO到实体。LibraryModelMapper
现在假设用户Book从 集合中删除一个实体Library。nowUpdateDTO包含所有实体的列表,其中Book没有被用户删除的实体。
我希望集合在将 映射到实体Book时缺少用户删除的实体。但与我的预期不同的是,返回的实体仍然包含所有实体。ModelMapperUpdateDTOLibraryLibraryBook
这是为什么?我已将“问题”确定为CollectionConverter[0] 中的这些行。
的存储库ModelMapper包含有关同一问题的问题 [0],解释了当前实现的工作原理以及代码,以便ModelMapper在源大小小于目标大小时删除项目。
[0] https://github.com/modelmapper/modelmapper/issues/423