空 @Link 字段不在 CSV 中,缺少列
Empty @Link fields not in CSV, missing columns
我正在尝试生成包含来自多个实体的字段的 CSV 文件。在我的骆驼路线中,我的实体有一个 BindyCsvDataFormat。但是,如果 SubEntity 为空,则 SubEntity 字段不会作为“”导出到 CSV 文件。所以某些行缺少列。 MainEntity 中的空值导出为“”。当 SubEntity 为空时,如何配置 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;
...
}
我最终没有使用 @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;
}
我正在尝试生成包含来自多个实体的字段的 CSV 文件。在我的骆驼路线中,我的实体有一个 BindyCsvDataFormat。但是,如果 SubEntity 为空,则 SubEntity 字段不会作为“”导出到 CSV 文件。所以某些行缺少列。 MainEntity 中的空值导出为“”。当 SubEntity 为空时,如何配置 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;
...
}
我最终没有使用 @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;
}