【发布时间】:2012-05-10 19:41:13
【问题描述】:
我正在使用推土机在我的模型实体和我的 DTO 之间进行映射。 现在我面临的问题是我需要将 classA.classC 的一些属性映射到 classB 的不同属性,但首先我需要检查不一致,因为如果我没有classC会抛出异常并且映射不起作用。
所以假设我有:
class ClassA {
private String name;
private ClassC c;
public ClassC getC() throws ValidityException;
}
class ClassB {
private String code;
private Integer value;
}
class ClassC {
private String name;
private Integer value;
// Getters & Setters below
}
所以现在我想这样映射:
<mapping>
<class-a>ClassA</class-a>
<class-b>ClassB</class-b>
<field>
<a>c.name</a>
<b>code</b>
</field>
<field>
<a>c.value</a>
<b>value</b>
</field>
</mapping>
如果从 ClassA 实例访问 ClassC 实例引发异常,我将需要为两个 b 属性映射 null。 根据我所阅读的内容,我假设我应该使用 CustomConverter 来访问 ClassC 实例,在这种情况下捕获异常并映射 null,但不确定如何实现这种转换器。
谁能给我一些关于如何使用 Dozer 实现这一点的想法?
【问题讨论】:
标签: dozer