Dozer:映射列表时类强制转换异常
我有两个值对象(ValueObjectA 和 ValueObjectB),每个都有 name1 和 name2
然后我有两个列表,每个列表都包含一个值对象,我计划用推土机映射它。
一旦我访问映射的“listOfB”,我就会得到一个类转换异常,因为推土机将 ValueObjectA 类型的对象映射到 ValueObjectsB 列表中。
是否可以在不迭代列表并逐个对象地映射的情况下映射这两个列表?
示例代码:
...
// prepare object A
List<ValueObjectA> lostOfA = new LinkedList();
ValueObjectA voA = new ValueObjectA();
voA.setName1("foo");
voA.setName2("bar");
lostOfA.add(voA);
// map object A to object B
List<ValueObjectB> listOfB = new LinkedList();
mapper.map(lostOfA, listOfB);
for (ValueObjectB voB:listOfB ){
...
I have two value objects (ValueObjectA and ValueObjectB), each with name1 and name2
Then I have two lists, each holds one of the value objects, which I plan to map with dozer.
As soon as I access the mapped 'listOfB', I get a Class Cast Exception, since dozer maps objects of type ValueObjectA into the list of ValueObjectsB.
Is it possible to map these two lists without iterating the lists and map object by object?
sample code:
...
// prepare object A
List<ValueObjectA> lostOfA = new LinkedList();
ValueObjectA voA = new ValueObjectA();
voA.setName1("foo");
voA.setName2("bar");
lostOfA.add(voA);
// map object A to object B
List<ValueObjectB> listOfB = new LinkedList();
mapper.map(lostOfA, listOfB);
for (ValueObjectB voB:listOfB ){
...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不容易。
请查看 Dozer 论坛上的此帖子。
引用:
Not easily.
Take a look at this thread on the Dozer forum.
To quote:
尝试为两个类定义映射。 Dozer 将在运行时自动使用此映射并相应地转换对象。
例如(伪代码):
我猜两个类中的字段名称是相同的。如果没有,您需要在上面的映射中指定它们。
Try to define a mapping for both class . Dozer will use this mapping at run-time automatically and convert objects accordingly.
for example (psudo code) :
I guess the fields name in both class are same. If not you need to specify them in the above mapping.