问题标签 [dozer]

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 回答
1014 浏览

mapping - 如何在推土机的映射过程中为中间类定义创建方法

这是我的场景,我有 2 个类“com.project.ClassA”和“com.project.ClassB”,我正在尝试将字段 ClassA.name 映射到 ClassB.person.nameObj.firstName。

如您所见,Dozer 需要创建 person 对象和 nameObj 才能进行映射,有一些工厂类来初始化 Person 和 NameObj 对象。

我知道我们可以在字段和类级别定义自定义创建方法,但这仅适用于您正在映射的字段或类。在我的示例中,映射在 2 个字符串字段之间,但在执行映射之前需要创建 2 个对象。

我现在得到的错误是 org.dozer.MappingException: java.lang.NoSuchMethodException: com.project.ClassB.Person.()

任何帮助或想法将不胜感激。谢谢。

0 投票
2 回答
1914 浏览

java - Dozer 将非通用集合映射到属性

我有一些类结构如下。这些类是休眠类,所以我无法更改它们。

映射文件

但是这个customer.nameParts[0].name dosent 的映射作为推土机知道集合中的对象。有什么解决办法吗?

如果这只能通过自定义转换器完成,则可以使用示例代码模板提示。

0 投票
1 回答
319 浏览

dozer - 推土机映射描述到代码

我正在使用 Dozer 将来自 WebService 接口的 JAXB 对象映射到我的域对象。我的 JAXB 中的元素或属性之一是String set/setLocation()。这将是位置的描述。我在后端需要的是获取该字符串并将其映射到将存储在我的数据库中的代码。我查看了 Dozer 网站和 junit 测试,但没有看到任何可以用作示例的东西。我希望我可以创建一些自定义设置器映射器来执行此操作,但我正在寻找一个可以开始的示例。任何帮助,将不胜感激。

0 投票
2 回答
1167 浏览

java - 推土机转换器将字符串映射到字符串

我正在使用 Dozer,它正在将来自 WebService 的 JAXB 对象映射到驻留在应用程序服务层中的业务对象。在某些特定情况下,我需要将字符串值中的代码映射到字符串值中的人类可读描述。示例:“FLT”映射到“FLAT”,“TRP”映射到“TRAP”。我有很多这样的类型映射。

我正在通过继承DozerConverter并实现两个抽象方法 convertTo () 和convertFrom () 来实现一个自定义的 Dozer Converter。在这些中,我想分别将“FLT”映射到“FLAT”和“FLAT”到“FLT”,但不幸的是,Dozer 没有正确调用正确的convertTo () 或convertFrom () 方法。

还有其他人有这个问题并且可以指出我正确的方向吗?谢谢

0 投票
1 回答
603 浏览

dozer - 当 DTO 位于 DOZER 映射文件中的哈希映射内时如何访问 DTO 属性

我有一个具有 userID 字段的 UserDTO。HashMap 将此 DTO 作为键 User_Details 的值。

我想使用 DOZER 映射将 userID 属性从HashMap->User_Details->userId设置为属性UserDisplayDTO->userId

如何在 Dozer XML 映射中执行此操作?

0 投票
1 回答
4671 浏览

java - Dozer 无法将 Hibernate 的 persistentBag 映射到 List

我正在用 Java 实现一个 rest web 服务作为大学作业,所以我对这些事情很陌生,因此我可能以错误的方式做这件事。

无论如何,问题是 Dozer 无法将 Hibernate 映射PersistentBagjava.util.List.

我正在映射两个类:AB

映射到

DepartmentsType只有一个属性是

所以最后A.departments映射到B.departments.departments,其实就是这个映射:

这就是我定义A.departments(休眠)的方式:

这就是我定义的方式B.departments

最终这是如何DepartmentsType.departmens定义的:

每当我尝试映射class Aclass BField Mapping Error从推土机得到一个:

异常堆栈指出此代码有问题:

但是,当我映射class Bclass A一切都按预期工作时。我知道,出于多种原因,Hibernate 正在将我定义的内容List转变为它PersistentBag,但这应该是它List本身。

我无法找出我做错了什么,为什么推土机可以映射AB但不能映射BA.

提前致谢

0 投票
4 回答
8123 浏览

java - 推土机:没有默认构造函数的类映射

假设我想映射以下两个类:

现在,当我希望 Dozer 进行以下转换时:dozerBeanMapper.map( a, B.class );由于缺少 class 的默认构造函数,我得到一个错误B

解决该问题的最佳方法是什么?使用自定义转换器?

0 投票
1 回答
153 浏览

java - 无法初始化推土机 5.3.2

将推土机更新到 5.3.2。当推土机尝试初始化时,会无限次打印此消息。如何解决这个问题?

|11:06:25| 信息|zer.DozerInitializer| | - 初始化推土机。版本:5.3.2,线程名称:main |11:06:25| 信息|zer.DozerInitializer| | - 初始化推土机。版本:5.3.2,线程名称:main |11:06:25| 信息|zer.DozerInitializer| | - 初始化推土机。版本:5.3.2,线程名称:main

0 投票
1 回答
2428 浏览

dozer - 如何通过推土机映射文件为属性设置值?

我正在使用推土机映射。我有两个 pojo1 和 pojo2。pojo1 值映射到 pojo2。Pojo1 有 3 个属性,Pojo2 有 4 个属性。我能够将 3 个属性从 pojo1 映射到 pojo2,但要映射第四个属性,我在 pojo1 中没有属性。要映射第四个属性,我不能从 pojo1 中获取值,我需要直接从 Enum 中获取值。请帮助我是否可以通过映射文件为任何属性赋予价值?

直接来自枚举的值不是来自 pojo1 第四个属性

谢谢!

0 投票
0 回答
1213 浏览

scala - 如何将 Java/Scala 对象转换为 Protocol Buffers 消息?

我正在尝试将 Java/Scala 对象转换为 Protocol Buffers 消息。

我的对象被调用IDSNumber,它有一个doubleValue返回java.lang.Double. 我试图让它在Dozer对象转换期间自动转换为双精度。

我在 Scala 中创建了一个推土机自定义转换器,在这里:

我的 Protocol Buffers 消息如下所示(shortFee并且longFee应该从IDSNumber类型转换):

我尝试通过以下方式使用转换器:

当我运行上面的代码时,msg将两者都shortFee设置longFee0.0,而不是2.0and 3.0。对我做错了什么有任何想法吗?也许有更好的方法(更好的库?)来回转换这些对象?谢谢!