问题标签 [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 回答
4601 浏览

mapping - Orika 如何决定何时使用转换器

我试图了解 Orika 何时使用转换器进行映射而不是直接转换。

我有以下映射:

我的映射定义为 props['aStr'] => bStr 和 props['aInt'] => bInt

当我查看生成的代码时,我看到对于 String 的情况,它使用一个转换器并调用它的 convert 方法进行转换:

但是,对于整数情况,它直接将其转换为:

上面的代码行最终给出了类转换异常。

为了解决这个问题,我一直在考虑使用自定义转换器,但如果上面的代码行不使用转换器,那么这将不起作用。

当然,我总是可以在我的自定义映射器中做到这一点,但只是想了解如何为类型转换生成代码。

谢谢!!

0 投票
3 回答
12593 浏览

java - Orika vs JMapper - how it works and a speed difference - why?

I have downloaded and testing these two mapping libraries. I wrote a program which has 100000 iterations and maps the beans of the same class:

Mappers are created BEFORE iterations start:

What is in each iteration:

or

Hand mapping: 1ms

Orika mapping: 32ms

Hand mapping: 6ms GREAT SPEED !!!

Dozer: 1140ms

I know, that Orika and Jmapper are great libraries from Google and they use reflection in a different way than for example Dozer, which is much slower, they se reflection to generete code somehow..

I have 3 questions:

1) How they work - when the code is generated, during maven build, in runtime - everytime when I create mapper in code? Are they change class code byte dynamically when I create mappers.?

2) Why there is this speed difference that I noticed? If the generate code somehow, then why there are different results

3) Which library would you choose and why? Both have the same capabilities? Why both come from Google? Why Google didnt develop Orika and created Jmapper instead?

0 投票
1 回答
1362 浏览

java - Orika, mapping one property to multiple properties

I need to map a property to several using Orika and am struggling to find a proper example.

Given the following classes:

Basically I'm mapping class A to class B, but along the way I need to parse propertyA1 and send value to C.propertyA2Part and D.propertyA3Part. I'm trying to determine the best facility for this between a converter / mapper / filter.

0 投票
1 回答
2520 浏览

java - Orika - 我如何映射抽象嵌套属性的字段

嗨,我很难映射抽象嵌套属性的字段。在这里,我有一个可以更好地解释它的测试用例:

}

0 投票
2 回答
731 浏览

java - Orika 是否支持从 java.util.Set 映射?

我以前使用 Orika 成功地在许多不同的对象和集合之间进行映射,但是在尝试将 java.util.Set 映射到一系列字段时遇到了问题。如果可能的话,我不希望将 Set 更改为 SortedSet 或 List 。

SourceObject 具有属性 Set setField 和 DestinationObject 具有我试图映射到的各种 String 属性。

尝试这样做会在运行测试时抛出以下异常:

看起来 Orika 假设集合上有一个 get(int) 方法,而不是尝试使用迭代器。有没有办法坚持使用 Set,或者我需要进行一些重构以使用另一种集合类型?

感谢您的任何想法!

0 投票
1 回答
2337 浏览

java - Orika 映射:将两个元素连接到一个

我需要做一些看起来像简单映射的事情,但我仍然无法管理如何去做。我需要做的是将第一个类上的 firstName + lastName 映射到第二个类上的名称。

像这样的东西:

实现这一目标的最佳方法是什么?

更新:

我已经通过执行我自己的 Mapper 解决了这个问题:

然后我使用以下方法在自定义方法中调用映射器:

0 投票
1 回答
274 浏览

java - Geda 可以直接挂钩 Spring 转换服务吗?

像 Dozer 或 Orika 一样,Geda 可以挂接到 Spring Conversion Service 中吗?我希望能够拥有 bean 映射器的抽象,我们的代码如下所示:

目前我正在使用推土机,但在处理大型收藏品时它太慢了。我测试了 Orika,它比 Dozer 快很多,但比 Dozer 的小集合要慢。我听说 Geda 比 Dozer 和 Orika 都快,但我唯一担心的是我不确定它是否可以像上面的伪代码所示的 Dozer 和 Orika 那样抽象。

0 投票
0 回答
244 浏览

java - Orika 仅在“mvn clean install”中失败,但在 IDE 或单次测试运行中有效

我今天遇到了一个特定问题,当我在我的项目上运行mvn clean install时,它在测试数量上失败,并显示以下消息:

但是当我从 IntelliJ 运行它或使用

它正确通过。

我正在使用 orika 1.4.1,您知道可能是什么原因吗?

0 投票
1 回答
663 浏览

mapping - Orika - 如何禁用未使用属性的映射?

我有两节课:

当我从源映射到目标时,属性a被完美映射。但是源中不存在的属性b始终设置为 null。有没有办法避免这种行为?

0 投票
3 回答
832 浏览

java - 将 Scala Slick 对象映射到 Java POJO/从 Java POJO 映射

我想在我的后端代码中使用 Scala Slick,并且我还需要支持需要将我的域模型公开为普通 Java POJO 的遗留 Web 服务 API。

除了编写手动映射代码之外,是否有一些不错的对象映射器库或其他解决方案来完成这项任务?我以前使用过 Orika 对象映射器(仅在 Java 中),它具有一些不错的功能,例如默认映射具有相同名称的属性,能够按类型提供自定义映射器。