Ecco il codice completo per accompagnare l'ultima risposta (per maggiore chiarezza).
Nel tuo file data-config.xml leggi la data dal DB ed esegui il cast su un timestamp:
select cast(STRT_DT as timestamp) as STRT_DTTS from DATES
Inserisci in un'entità DataImportHandler, che assomiglia a questa:
<entity name="startDate" transformer="script:startDateTransform"
query="select cast(STRT_DT as timestamp) as STRT_DTTS from DATES" >
<field column="STRT_DTTS" name="STRT_DT" />
</entity>
Questa query restituirà un oracle.sql.TIMESTAMP, ma non verrà mappata direttamente alla data. È quindi necessario un trasformatore di script. Quindi introduciamo script:startDateTransform
. Nello stesso data-config.xml, puoi inserire JavaScript in questo modo:
function startDateTransform(row){
// Get the timestamp and convert it to a date
var dateVal = row.get("STRT_DTTS").dateValue();
// Put the correct date object into the original column
row.put("STRT_DTTS", dateVal);
return row;
}
Qui convertiamo il timestamp in una data, aggiorniamo il valore della colonna e restituiamo la riga con le nuove informazioni.
Il campo STRT_DT
:
<field column="STRT_DTTS" name="STRT_DT" />
ora dovrebbe contenere la data corretta.