Joda-Time Hibernate ПостоянныйYearMonthDay Устаревший - PullRequest
0 голосов
/ 29 ноября 2011

При просмотре руководства пользователя Joda-Time Hibernate выясняется, что в будущем нет поддержки типа SQL DATE. Поскольку задано, что TIMESTAMP запускается 1 января 1970 года, единственным безопасным транспортом для дат до 1970 года является VARCHAR с PersistentLocalTimeAsString (если вы хотите ограничиться библиотекой Joda Hibernate).

Как человек, который использует DATE (и видит, что Joda Hibernate нет), мне интересно, есть ли какая-то причина, по которой я должен переключиться на VARCHAR и PersistentLocalTimeAsString. То есть. что мотивировало решение отказаться от PersistentYearMonthDay?

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

Это не начинается в 1970 году, это нулевая точка, но она может быть отрицательной.Причиной, по которой PersistentYearMonthDay устарела, является амортизация YearMonthDay.Мотивируется как " Использовать LocalDate, которая имеет намного лучшую внутреннюю реализацию и была доступна с 1.3 "

Также это странно, но исходный код для PersistentLocalDateDATE sql type, хотя в руководстве пользователя написано TIMESTAMP, попробуйте, может быть, просто опечатка в руководстве пользователя.

1 голос
/ 29 ноября 2011
long someTimeBefore1970 = -83688769L;
Timestamp ts = new Timestamp(someTimeBefore1970);
System.out.println(ts);

Значение 0 установлено на 1 января 1970 года, но это не значит, что ранее даты не поддерживаются.

...