タイムスタンプをdb4oデータベースに保存しようとしていますが、数分前に保存されたタイムスタンプは現在の日付とは大きく異なります。
出力例は次のとおりです。
1969-12-31 19:00:00.741
1969-12-31 19:00:00.772
2012-10-14 00:23:22.713
以前に保存された2つのタイムスタンプは、コードを3回実行した後、1969-12-31 19:00:00.7xxとして保存されました。
これがコードです。
import java.sql.Timestamp;
import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.config.EmbeddedConfiguration;
public class dbTest {
public static void listResults(ObjectSet<Timestamp> results) {
for (Timestamp o : results) {
System.out.println(o);
}
}
public static void main(String[] args) {
EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
config.common().objectClass(Timestamp.class).storeTransientFields(true);
ObjectContainer container = Db4oEmbedded
.openFile(config, "timestamps.db4o");
try {
long now = System.currentTimeMillis();
container.store(new Timestamp(now));
final ObjectSet<Timestamp> results = container.query(Timestamp.class);
listResults(results);
}
finally {
container.close();
}
}
}
以下の2つの関連記事を読みましたが、問題は解決されていません。
この問題の解決方法を教えてください。ありがとう。