I import datarows from a mysql db-table into a microstream storage.
So far import and export works fine for string, double and Integer fields. I have just a problem by importing a date field.
My code for importing:
for(final TUmsatzClassification TUmsatzClassification : allUmsatzClassif_s)
{
final msTUmsatzClassification myMsTUmsatzClassification = new msTUmsatzClassification();
root.allUmsClassifications.add(myMsTUmsatzClassification);
storage.store(root.allUmsClassifications);
z++;
final Integer myId = TUmsatzClassification.getId();
// here i print out correct values just for testing purpose as you can see below
System.out.println("Rückgabewert TUmsatzClassification.getDatum() : "
+ TUmsatzClassification.getDatum().toString());
myMsTUmsatzClassification.setId(myId);
myMsTUmsatzClassification.setPos(Integer.valueOf(TUmsatzClassification.getPos()));
....
myMsTUmsatzClassification.setDatum(TUmsatzClassification.getDatum());
....
storage.store(myMsTUmsatzClassification);
// here i print out correct values just for testing purpose as you can see below
System.out.println("Rückgabewert myMsTUmsatzClassification.getDatum() : "
+ myMsTUmsatzClassification.getDatum().toString());
}
The result in console is:
Rückgabewert TUmsatzClassification.getDatum() : 2019-11-27
Rückgabewert myMsTUmsatzClassification.getDatum() : 2019-11-27
Rückgabewert TUmsatzClassification.getDatum() : 2019-11-28
Rückgabewert myMsTUmsatzClassification.getDatum() : 2019-11-28
...
So far everything looks fine.
Then I stop the application, (just to shutdown storage) and restart it.
By following code I try to print out the table content:
for(final msTUmsatzClassification msTUmsatzClassification : root.allUmsClassifications)
{
z++;
sb.append(Integer.toString(msTUmsatzClassification.getId()) + " | ");
...
final String strDate = dateFormat.format(msTUmsatzClassification.getDatum());
sb.append(strDate + " | ");
sb.append("\r\n");
}
The result contains wrong date like: 1970-01-01
The same result without converting: msTUmsatzClassification.getDatum()
The same result, when I use the RC Grid to autput the data.
Field Definitions out of class msTUmsatzClassification:
(Entity: -+ same Definition like used for MySQl Entity )
private Date datum;
....
@Caption("Datum")
@Temporal(TemporalType.DATE)
@Column(name = "datum", nullable = false, columnDefinition = "DATE", length = 10)
public Date getDatum()
{
return this.datum;
}
public void setDatum(final Date datum)
{
this.datum = datum;
}
So, what did I wrong, or why are the output wrong?
Thanks in advance!
rgds OpaHeinz