问题标签 [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.
java - Orika - java.lang.NoClassDefFoundError: javassist/CannotCompileException
我正在做以下事情并获得奖励:
有谁知道为什么?
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”时透明地使用它。
java - Orika 映射器异常
我使用 Orika 映射器将 Hibernate 实体映射到 Web 服务实体。它工作完美,但有时会引发以下异常。我不知道如何解决它。我用tomcat。
java - Orika - 将对象映射到列表(一对多映射)
我有以下两个课程
是否可以将 A 映射到 B 的集合(A.collection.field 应该映射到 B.field 的集合)?
我尝试使用自定义转换器,但我只需要管理 java.lang.VerifyError:
结果是:
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 个节点中,每个节点包含属性名称和关系对象(将组织表示为软件的成员)。
java - 为空时,Orika 不会在目标上设置值
尝试在目标上设置 null 时,我遇到了 Orika 的问题。
现在,当源具有值而目标为空时,我的实现工作得很好。它也适用于源和目标都有一个价值。问题是当我从源读取的值为 null 而在目的地不是。
我发现在 1.4.0 版本中,可以使用函数 ClassMapBuilder.mapNulls(true|false) 或 ClassMapBuilder.mapNullsInReverse(true|false) 来解决这个问题。
不幸的是,上面的代码似乎没有解决我的问题,因此目标字段始终保持不变,尽管它应该设置为 null(根据源)。
这是我尝试过的不同实现。
有什么建议么?
java - 如何配置 Orika 以根据上下文将一个类映射到另一个类?
我正在尝试迁移一个dozer
用于orika
.
在推土机中,有这样的东西是一种常见的做法:
然后在转换对象时使用 mapId :
所以我的问题是:如何配置 Orika 拥有这样的 mapId 东西?
当我定义我的映射器时,我找不到如何声明一个 map-id :
orika - 是否可以使用 Orika 将列表转换为地图?
我正在寻找将自定义对象列表转换为自定义对象映射。我有一个使用自定义方法定义的映射,但我不断收到“无法转换为 ma.glasnost.orika.MapEntry”异常。在 Orika 中将 List 转换为 Map 的正确方法是什么?
scala - 类映射 Scala,如 Orika
开始使用 Scala 并四处寻找Orika模块,但对于 Scala。可以在 Orika 中创建自定义属性构建器,但对于具有值字段的案例,我需要(使用 Scala 2.10+)反射字段(镜像)来设置不可变。假设有 Scala 模块的本机方法?
validation - 使用 bean 映射器(如 ModelMapper、Orika 或 Dozer)映射验证属性路径
鉴于 bean 映射器用于将业务模型映射到 DTO 模型,反之亦然:哪一个提供了转换属性路径的简单方法?
假设我的业务逻辑报告“person.street.number”是强制性的,现在我想以正确的方式告诉客户,即“personDto.streetnumber”?
我很确定每个 bean 映射器都有这些知识,但是哪一个提供了访问这些知识的简单方法?
如果发现 ModelMapper 和 Orika 看起来很有吸引力,则基于此出色的 bean 映射器列表并在其网站上进一步阅读。