问题标签 [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.
java - Dozer 字符串到枚举的映射
我有这样的枚举:
我需要将其转换为字符串,反之亦然。现在,它是由自定义转换器完成的。但我想通过推土机映射来做到这一点(如果可能的话)。如果我不写任何映射到推土机配置,我得到
例外。我无法将默认公共构造函数添加到枚举,因为这是不可能的。所以,我用内部代码和 valueOfCode()/toString() 写了一个技巧。这没用。然后,我在推土机配置中映射了它:
这没用。我尝试了 valueOfCode(),单向映射。没有任何效果。枚举到字符串的转换也不起作用,我得到空字符串。有任何想法吗?
java - 推土机:更改字段名称策略
如您所知,dozer 使用相同的字段名称来映射两个 bean,但我怎样才能简单地更改此映射策略。
对于上述情况,我不想定义映射文件,因为字段太多,TO太多,我只想更改默认映射策略,并更新为如上:thisField = THIS_FIELD。如果您有任何建议,谢谢。
java - 带有注释的推土机深度映射
无法将源类到目标类的深度映射映射SourceEmployee.Address.houseName
到TargetEmployee.houseName
源对象类
地址类
目标对象
主类从源复制到目标
dozer - 找不到推土机文件异常
我正在尝试执行下面的推土机示例。我的 xml 文件与我的 java 文件位于相同的位置,但我得到了找不到文件的异常
如果我提供完整的文件路径,它正在工作,但我得到以下异常
源代码
java - 如何使用推土机将具有类型的字段映射为抽象类?
我有以下域结构:
现在,当我设置以下推土机映射时:
我的问题涉及字段 Contract.contractor 从 B 到 A 的映射,因为字段 Contract.contractor 是一个抽象类,推土机无法猜测如何实例化它。
所以我的问题很简单:我如何向推土机表明,对于字段 Contract.contractor 的映射,它应该实例化Employer
if type == 'Employer
' 和其他地方的实例Employee
?
谢谢您的帮助。
java - Dozer:具有国际化/本地化意识的 CustomerConverter,如何实施?
我还没有使用过推土机,但推土机似乎很有希望。我已经阅读了很多文档,但是对于编写具有本地化/国际化意识的 CustomConverter 需要做什么,我仍然完全一无所知:
示例:我想将字符串值转换为日期,具体取决于语言环境。我有一个 DTO(没有语言环境),当然还有语言环境(来自 ServletContainer=>Browser)。如何将语言环境注入 CustomConverter 或映射过程,以便我可以将其用于特定于语言环境的转换并访问语言环境对象?(更一般地说,如何通常注入某种我可以在转换器中使用的“上下文对象”......
我将非常感谢您说明如何实施/如果可能的话。非常感谢!
java - 使用 Dozer 转换嵌套集合
我有一个 A 类,它有一组嵌套的 B 类:
我还有一个 C 类,它有一组嵌套的 D 类:
现在给定一个 A 列表,如何将其转换为 C 列表?理想情况下,我不必提供任何映射提示,因为我使用的是泛型。例如:
显然,最后一行的语法不正确。应该是什么?另外,我如何告诉 Dozer 要创建哪种类型的 List 或 Set?
谢谢。
纳雷什
dozer - 推土机 5.3.2 问题 NoClassDefFoundError
我正在尝试从推土机 5.2.2 升级到 5.3.2,我收到以下错误
java.lang.NoClassDefFoundError:无法初始化类 org.dozer.DozerBeanMapper
它在类路径和 build.xml 文件中,我只是将工作区中的所有引用从 5.2.2 更改为 5.3.2,我在从 5.1 升级到 5.2.2 时做了类似的事情,并且它有效。
任何帮助表示赞赏。
谢谢。
java - 如何将“this”传递给 Dozer 字段映射?
在我的应用程序中,我有推土机映射,如下所示:
MyConverter
是一个实例ConfigurableCustomConverter
:
为什么会发生源内评论中提到的事情?
mapping - 什么时候用映射框架,什么时候手工映射?
我对 DTO 等并行对象层次结构有疑问。
这些层次结构必须以某种方式相互映射。最直接的方法是手动使用简单的映射。在这种情况下,您只需编写代码,将属性值从一个对象一个接一个地传输到另一个对象。
这种方法非常费力,但它提供了最大的可变性和最佳的性能。编写这样的映射也很容易。
另一种方法是使用一些映射框架,例如 DOZER。这种方式应该不那么费力,但你会失去一些可变性。一些复杂的映射即使不是不可能也很难实现。你也会失去一些表现。
所以我的问题是:
是否有任何建议何时使用映射框架以及何时更倾向于手动映射?它是否取决于映射的复杂性?还是总是使用映射框架更好?
提前致谢。