2017-07-07 16 views
0

我試圖用多個實體的字段生成一個CSV文件。在我的駱駝路線中,我有一個BindyCsvDataFormat用於我的實體。但是,如果SubEntity爲null,則SubEntity字段不會以「」形式導出到CSV文件。所以某些行缺少列。 MainEntity中的空值被導出爲「」。當SubEntity爲空時,如何配置Bindy將SubEntity列導出爲「」?空的@Link字段不在CSV中,缺失列

的實體連在了一起,像這樣:

@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

我結束了不使用@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; 
}