Ето пълния код към последния отговор (за допълнителна яснота).
Във вашия файл data-config.xml прочетете датата от DB и прехвърлете към клеймо за време:
select cast(STRT_DT as timestamp) as STRT_DTTS from DATES
Поставете в обект DataImportHandler, който изглежда така:
<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>
Тази заявка ще върне oracle.sql.TIMESTAMP, но няма да се съпостави директно с дата. Следователно е необходим трансформатор на скрипт. Така въвеждаме script:startDateTransform
. В същия data-config.xml можете да вмъкнете JavaScript така:
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;
}
Тук преобразуваме клеймото за време в дата, актуализираме стойността на колоната и връщаме реда с новата информация.
Полето STRT_DT
:
<field column="STRT_DTTS" name="STRT_DT" />
сега трябва да съдържа правилната дата.