我有一些類結構如下。這些類是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