问题标签 [modelmapper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
18048 浏览

java - ModelMapper 转换器 - 不工作

我在我的其余应用程序中使用 ModelMapper。

我必须将列表转换为列表。

这是我的代码:

当我运行应用程序时,我收到此错误:

你能帮助我吗?我正在尝试解决这个问题五个小时。当我调试时,我知道转换器可以正常工作。我可能不正确地调用转换器吗?

0 投票
8 回答
86453 浏览

java - 将 Kotlin 数据对象映射到数据对象的更好方法

我想将一些“数据”类对象转换/映射为类似的“数据”类对象。例如,Web 表单类到数据库记录类。

我在 Java 中使用 ModelMapper 进行此类工作,但它不能使用,因为数据类是最终的(ModelMapper 创建 CGLib 代理来读取映射定义)。当我们打开这些类/字段时,我们可以使用 ModelMapper,但我们必须手动实现“数据”类的功能。(参见 ModelMapper 示例:https ://github.com/jhalterman/modelmapper/blob/master/examples/src/main/java/org/modelmapper/gettingstarted/GettingStartedExample.java )

如何在 Kotlin 中映射此类“数据”对象?

更新: ModelMapper 自动映射具有相同名称的字段(如 tel -> tel),无需映射声明。我想用 Kotlin 的数据类来做。

更新: 每个类的用途取决于什么样的应用程序,但这些可能被放置在应用程序的不同层中。

例如:

  • 从数据库(数据库实体)到 HTML 表单数据(模型/视图模型)的数据
  • REST API 结果到数据库的数据

这些类是相似的,但并不相同。

由于这些原因,我想避免正常的函数调用:

  • 这取决于参数的顺序。具有许多具有相同类型(如字符串)的字段的类的函数将很容易被破坏。
  • 尽管大多数映射可以通过命名约定来解决,但许多声明是必要的。

当然,想要一个具有类似功能的库,但也欢迎 Kotlin 功能的信息(如在 ECMAScript 中传播)。

0 投票
1 回答
6798 浏览

modelmapper - 使用 Modelmapper,我如何映射到没有默认/无参数构造函数的类?

我想映射到只有一个带有 3 个参数的构造函数的源目标。我收到以下错误:

无法实例化目标 com.novasol.bookingflow.api.entities.order.Rate 的实例。确保 com.novasol.bookingflow.api.entities.order.Rate 有一个非私有的无参数构造函数。

当我在源目标中插入一个无参数构造函数时它可以工作,但这可能会导致类的滥用,所以我宁愿不这样做。

我试过使用转换器,但这似乎不起作用:

是否可以告诉 modelmapper 如何使用无参数构造函数映射到目的地?

0 投票
2 回答
5116 浏览

java - 提供者和不可变对象的深度映射

我有一个这样的模型:

VO 是不可变的:

有没有一种简单的方法可以使用ModelMapperProviders 将此场景从 Dto 转换为 Vo?

我无法使用一个提供程序来解决它,PersonVo因为当我创建新对象时,我不知道如何解析CarDto...

0 投票
3 回答
16571 浏览

spring - Modelmapper 从 String 转换为 LocalDate

我的 DTO 有字符串格式的日期字段。我的实体的日期为 LocalDate。目前我正在从地图中跳过它,然后手动显式设置它(字符串到日期,反之亦然)。

可以自动转换吗?我在spring bean中尝试了Converter,但它给了我很多编译错误(类型Converter不接受参数,不覆盖convert方法——convert()也有很多错误)。

我对模型映射器不是很熟悉。任何帮助是极大的赞赏。

正如建议的那样,我尝试使用 LocalDate 进行 DTO,但问题是当我在前面发送此实体(REST 调用)时,我得到以下 JSON。

我的前端开发人员需要“YYYY-MM-DD”。

0 投票
1 回答
1611 浏览

java - 是否应该重用 ModelMapper 实例以利用缓存的 TypeMap?

我正在使用ModelMapper在对象之间进行直接映射。

我在源代码中注意到,如果 aTypeMap之间不存在sourceObjdestObj它将缓存TypeMapingetOrCreate方法。

据我所知,此缓存与映射器实例相关联,这意味着如果我必须使用新的 ModelMapper 实例第二次将其映射sourceObjdestObj,则它必须重新创建TypeMap.

我假设这是一个相当昂贵的操作,假设我将一个集合映射sourceObjdestObj. 这使我得出结论,我应该重用 ModelMapper 实例。

这个结论正确吗?

谢谢

0 投票
1 回答
94 浏览

for-loop - 循环三个数组列表以比较值的有效方法

我有两个 arraylist 对象orderListproductList一个 String arraylist customerIdList
我有ProductInfoPOJO 与 orderList 和 productList 映射,其中 customerId 应该匹配。
如果我没有给定 ProdId 的订单或产品列表,我应该添加标准错误并映射到 ProductInfo 错误。

这就是我正在做的...

样本结果...

循环遍历 ArrayList 和映射

我想知道是否有更好的方法可以做到这一点,而且我正在使用ModelMapper映射SOrderOrderPOJO,
其他 POJO 想知道是否有任何其他有效的模型映射器可用。
谢谢。

0 投票
1 回答
125 浏览

ios - 迁移Coredata时,目标属性映射未在xcmod​​elmappingmodel中显示新添加的属性

我有一个核心数据映射,其中Version模型有 4 个属性

appName、authCode、passPhrase、appVersion。

但是在 Coredata 的下一个版本中,passPharse实体被删除了。并且没有映射passPhrase

后来我在版本模型中添加了另一个属性

旧密码

但在实体映射上VersionToVersion,它没有显示在目标属性下拉列表中。其他3个属性在那里。

如何获取oldPassPhrasexcmod​​elmappingmodel 的 Destination 属性下拉列表中的属性

0 投票
1 回答
6152 浏览

java - Modelmapper:将列表中的元素映射到 POJO 中的字段

我尝试使用它来映射它,map().setFirstElement(source.getElementList().get(0))但我收到一条错误消息,指出“1) 无效的源方法 java.util.List.get()。确保该方法的参数为零并且不返回 void。”

如何使用 ModelMapper 或任何其他替代方法将列表中的元素映射到 Pojo 中的字段?

0 投票
1 回答
2679 浏览

modelmapper - 嵌套集合的模型映射器

我的公司实体有一组分支机构。当我将实体转换为 DTO 时,我还想将一组分支转换为一组BranchDTO使用模型映射器。

我的实体:

我想将此实体CompanyDTO与集合一起转移到BranchDTO

我的 DTO:

我尝试使用属性映射 - 但无法弄清楚确切的语法。以下给出了空白BranchDTO列表。

任何帮助是极大的赞赏。