Мое приложение уже использует Joda-time для манипулирования датами с планами обновления до jsr 310 в ближайшем будущем.
Теперь мне нужно хранить ОЧЕНЬ точную метку времени в базе данных, используя jpa 2 и hibernate, но java.util.Date
не хранит значение в миллисекундах.
Я нашел UserType и настроил свой объект управления таким образом
@Column( name = "TRANSACTION_TIME" )
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime transactionTime;
но он по-прежнему не хранит миллисекунды.
Я передал это 2010-11-02 12:02:54.945
, но когда я его нашел, это было 2010-11-02 12:02:54.000
.
Что еще мне нужно сделать, чтобы сохранить миллисекунды и, возможно, часовой пояс?
UPDATE
Я только что проверил, и миллисекунды фактически попадают в базу данных, но Hibernate не включает ее в возвращаемые результаты. Один и тот же форматер напечатал два результата, поэтому проблема с форматированием не возникает