Aqui está o código completo para acompanhar a última resposta (para maior clareza).
Em seu arquivo data-config.xml, leia a data do banco de dados e converta para um carimbo de data/hora:
select cast(STRT_DT as timestamp) as STRT_DTTS from DATES
Coloque em uma entidade DataImportHandler, que se parece com isso:
<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>
Essa consulta retornará um oracle.sql.TIMESTAMP, mas não será mapeado diretamente para a data. Um transformador de script é, portanto, necessário. Assim, apresentamos
script:startDateTransform
. No mesmo data-config.xml, você pode inserir JavaScript assim: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;
}
Aqui convertemos o timestamp em uma data, atualizamos o valor da coluna e retornamos a linha com as novas informações.
O campo
STRT_DT
:<field column="STRT_DTTS" name="STRT_DT" />
agora deve conter a data correta.