您好我在Camel中将java Object导出为CSV文件时遇到问题。假设我有一个java对象,即Student,
@CsvRecord(separator=",")
public class Student {
@DataField(pos=1)
private String name;
@DataField(pos=2)
private String college;
// getters and setters
}
我将使用camel route中的以下代码将此对象导出到csv文件中,
.marshal(new BindyCsvDataFormat(camel.demo.Book.class))
.to("file:data/destination?fileName=book.csv")
但是,如果我在Student对象中有一个名为Address的实体对象,该怎么办?我想在我的csv中打印特定的地址值以及剩余的学生详细信息。
@CsvRecord(separator=",")
public class Student {
@DataField(pos=1)
private String name;
@DataField(pos=2)
private String college;
private Address address;
// getters and setters
}
public class Address {
private int houseNo;
private String street;
private String city;
//getters and setters
}
不,我想从csv中的地址保存学生详细信息(姓名,大学)和仅(城市)。有人可以帮助我实现这一目标。谢谢你的帮助。
答案 0 :(得分:2)
使用here所述的@Link
注释:
@CsvRecord(separator=",")
public class Student {
@DataField(pos=1)
private String name;
@DataField(pos=2)
private String college;
@Link
private Address address;
...
}
对于班级Address
:
@Link
public class Address {
...
}