2017-07-07 1 views
0

Ich versuche eine CSV-Datei mit Feldern aus mehreren Entitäten zu generieren. In meiner Camel-Route habe ich ein BindyCsvDataFormat für meine Entität. Wenn SubEntity jedoch null ist, werden die SubEntity-Felder nicht als "" in die CSV-Datei exportiert. So bestimmte Zeilen fehlen Spalten. Nullwerte in MainEntity werden als "" exportiert. Wie konfiguriere ich Bindy, um SubEntity-Spalten als "" zu exportieren, wenn SubEntity null ist?Leere @ Link Felder nicht in CSV, fehlende Spalten

Die Einheiten sind zusammen wie so verbunden:

@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; 
    ... 
} 

Antwort

0

ich nicht @Link mit endete, da es nicht null Objekte verarbeiten kann. Stattdessen habe ich ein DTO wie folgt erstellt:

@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; 
}