我正在尝试生成包含多个实体字段的CSV文件。在我的Camel路线中,我有一个BindyCsvDataFormat用于我的实体。但是,如果SubEntity为null,则SubEntity字段不会以“”形式导出到CSV文件。所以某些行缺少列。 MainEntity中的空值导出为“”。当SubEntity为null时,如何配置Bindy将SubEntity列导出为“”?
实体像这样链接在一起:
@Entity
@CsvRecord(separator=",", generateHeaderColumns=true)
public class MainEntity {
@DataField(pos = 1, position = 1, columnName="firstColumn")
private String column;
@ManyToOne
@Link
private SubEntity subEntity;
...
}
@Entity
@Link
public class SubEntity {
@DataField(pos = 2, position = 2, columnName="secondColumn")
private String name;
...
}
答案 0 :(得分:0)
我最终没有使用@Link
,因为它无法处理空对象。相反,我创建了一个像这样的DTO:
@CsvRecord(separator=",", generateHeaderColumns=true)
public class EntityDTO {
@DataField(pos = 1, position = 1, columnName="firstColumn")
private String column;
@DataField(pos = 2, position = 2, columnName="secondColumn")
private String subEntityName;
}