我有一些类结构如下。这些类是hibernate类,所以我不能改变它们。Dozer将非泛型集合映射到属性
//assume all getters & setters are present
public class Order{
private Customer customer;
}
public class Customer{
// non generics set
private Set nameParts;
}
public class NamePart{
private String id;
private String name;
}
// target class
public class OrderShippingDetail{
private String firstName;
}
mappying文件
<mapping>
<class-a>Order</class-a>
<class-b>OrderShippingDetail</class-b>
<field>
<a>customer.nameParts[0].name</a>
<b>firstName</b>
</field>
</mapping>
但customer.nameParts这种映射[0] .NAME dosent工作作为推土机dosent知道在该组中的对象。有没有什么解决办法。
如果这只能通过自定义转换器完成,那么可以使用示例代码模板提示。
所以你想第一个元素在集合nameParts映射指定的对象firstName?集合是无序的,所以nameParts中的第一个元素不会总是一样的... –
是的我知道,但最初的开发人员只留下一个只有一个元素的集合,那就是整个客户名称(不只是一个部分)。基本上我想访问该集合中的任何一个元素。 – user918953