问题标签 [orika]

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 投票
1 回答
2031 浏览

java - Orika - java.lang.NoClassDefFoundError: javassist/CannotCompileException

我正在做以下事情并获得奖励:

有谁知道为什么?

0 投票
2 回答
7247 浏览

java - 使用 ModelMapper 级联 PropertyMaps

考虑 6 个 POJO 类:3 个 DAO 和 3 个 DTO。

DAO:“A”、“B”、“C”
DTO:“一”、“二”、“三”

“A”包含一个“B”列表。“B”包含一个“C”列表。
“One”包含“Two”的列表。“二”包含“三”的列表。

“A”通过“A2One”映射到“One”。“B”通过“B2Two”映射到“Two”。“C”通过“C2Three”映射到三。

B2Two 和 C2Three 的代码与 A2One 非常相似。

所以这是我的问题:

目前,“A”和“One”中包含的列表之间的转换是通过自定义转换器完成的(并且它可以工作),但我正在重复 B2Two 应该执行的相同操作(将 Bs 映射到 Twos)。

当要映射列表时,是否有任何方法级联属性映射(A2One -> B2Two -> C2Three),而无需编写仅复制属性映射正在执行的转换器?

备选方案 1:使用泛型创建自定义List, List类型映射,该类型映射转发到正确的属性/类型映射。

备选方案 2:在 A2One 中使用以下列表

ListProvider 在哪里扩展 AbstractProvider 返回新的 ArrayList()

备选方案 3:???

有任何想法吗?网站上涉及更多映射问题的文档非常差,我不一定要寻找替代框架。如果提供替代方案,它们必须允许轻松重构(因此 Dozer 和 Orika 基本上已经淘汰)。

提前致谢

更新:截至撰写本文时,ModelMapper基本上已经死了,实际上并不支持列表或映射级联,因此您将被迫为每个也可以是列表的对象编写映射和转换器。
此外,我发现 Orika 通过扩展 MapperBase 具有重构友好的映射。此外,Orika 可以透明地处理单个 bean 和 bean 列表的映射(对这两种情况使用单个映射规则)。

更新 2:在 Orika 中,可以使用 CustomMapper 对集合进行双向深度嵌套映射。这可以创建双向映射实现,并允许它们级联到其他自定义映射器。A2One 将持有 B2Two 的一个实例,并在映射“A”中包含的“B”时透明地使用它。

0 投票
0 回答
1322 浏览

java - Orika 映射器异常

我使用 Orika 映射器将 Hibernate 实体映射到 Web 服务实体。它工作完美,但有时会引发以下异常。我不知道如何解决它。我用tomcat。

0 投票
1 回答
13463 浏览

java - Orika - 将对象映射到列表(一对多映射)

我有以下两个课程

是否可以将 A 映射到 B 的集合(A.collection.field 应该映射到 B.field 的集合)?

我尝试使用自定义转换器,但我只需要管理 java.lang.VerifyError:

结果是:

0 投票
1 回答
2107 浏览

orika - 使用 Orika 代替 Spring Data Commons

有几个 Spring Data 项目,例如 Neo4j,它们使用 Spring Data Commons 来构建 PersistentEntity/PeristentProperty(基本上是类型信息加上属性获取器和设置器)和 EntityConverter 从本地存储滚动到 Java。这就是 SDN (Spring Data Neo4j) 所做的加上捆绑 BeanWrapper 转换器以确保 Neo4j 数据结构允许某些属性类型。

基本上,Java bean 带有 @NodeEntity 注释,并且 bean 在写入由关系对象互连的节点(认为只有简单属性的 bean)时被分解。

想知道我是否可以对 Orika 做同样的事情?意味着通过注释识别类并在递归复杂时处理每个属性。例如:

应该滚动到 2 个节点中,每个节点包含属性名称和关系对象(将组织表示为软件的成员)。

0 投票
1 回答
2215 浏览

java - 为空时,Orika 不会在目标上设置值

尝试在目标上设置 null 时,我遇到了 Orika 的问题。

现在,当源具有值而目标为空时,我的实现工作得很好。它也适用于源和目标都有一个价值。问题是当我从源读取的值为 null 而在目的地不是。

我发现在 1.4.0 版本中,可以使用函数 ClassMapBuilder.mapNulls(true|false) 或 ClassMapBuilder.mapNullsInReverse(true|false) 来解决这个问题。

不幸的是,上面的代码似乎没有解决我的问题,因此目标字段始终保持不变,尽管它应该设置为 null(根据源)。

这是我尝试过的不同实现。

有什么建议么?

0 投票
2 回答
3930 浏览

java - 如何配置 Orika 以根据上下文将一个类映射到另一个类?

我正在尝试迁移一个dozer用于orika.

在推土机中,有这样的东西是一种常见的做法:

然后在转换对象时使用 mapId :

所以我的问题是:如何配置 Orika 拥有这样的 mapId 东西?

当我定义我的映射器时,我找不到如何声明一个 map-id :

0 投票
1 回答
3002 浏览

orika - 是否可以使用 Orika 将列表转换为地图?

我正在寻找将自定义对象列表转换为自定义对象映射。我有一个使用自定义方法定义的映射,但我不断收到“无法转换为 ma.glasnost.orika.MapEntry”异常。在 Orika 中将 List 转换为 Map 的正确方法是什么?

0 投票
1 回答
287 浏览

scala - 类映射 Scala,如 Orika

开始使用 Scala 并四处寻找Orika模块,但对于 Scala。可以在 Orika 中创建自定义属性构建器,但对于具有值字段的案例,我需要(使用 Scala 2.10+)反射字段(镜像)来设置不可变。假设有 Scala 模块的本机方法?

0 投票
1 回答
939 浏览

validation - 使用 bean 映射器(如 ModelMapper、Orika 或 Dozer)映射验证属性路径

鉴于 bean 映射器用于将业务模型映射到 DTO 模型,反之亦然:哪一个提供了转换属性路径的简单方法?

假设我的业务逻辑报告“person.street.number”是强制性的,现在我想以正确的方式告诉客户,即“personDto.streetnumber”

我很确定每个 bean 映射器都有这些知识,但是哪一个提供了访问这些知识的简单方法?

如果发现 ModelMapper 和 Orika 看起来很有吸引力,则基于此出色的 bean 映射器列表并在其网站上进一步阅读。