Поле даты в моем классе сущностей определяется следующим образом:
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "LAST_EXECUTED")
private Date lastExecuted = new Date();
Однако, когда оно сохраняется в базе данных SQLite3 через JPA, значение базы данных всегда равно «1899-12-30».У вас есть идеи, почему?
В базе данных это поле определено как DATETIME
.
Я пробовал использовать как SqliteJDBC, так и Xerial SQLite JDBC.
Обновление: После включения отладки SQL в EclipseLink JPA и отключения привязки параметров выглядит, что даты вставляются следующим образом:
insert into run (last_executed) values ('{ts ''2012-02-17 10:34:58.013''}');
, которые, если они вставляются, вручную в SQLite,дает дату «1899-12-30».
Конечно, любые обходные пути будут с благодарностью.