Отметки времени SQL и Java LocalDateTime

Я сравнивал некоторые поля и хочу подтвердить мое подозрение, что хотя поля LocalDateTime могут "выглядеть" как те же значения, что и преобразованные метки времени, что они действительно не содержат одинаковые значения?

Я пишу запись, используя:

...
LocalDateTime ts = LocalDateTime.now();
pStmt.setTimestamp  (19,Timestamp.valueOf(ts));
pStmt.setTimestamp  (20,Timestamp.valueOf(ts));
a.createdt = ts;
a.lastupdt = ts;

и позже я читаю ту же самую запись БД в другой экземпляр, используя:

...
b.createdt  = rs.getTimestamp("createdt").toLocalDateTime();
b.lastupdt  = rs.getTimestamp("lastupdt").toLocalDateTime();

Когда я проверю, если a.createdt == b.createdt я получил false, Когда я печатаю значения в виде строк, они выглядят одинаково: "2016-03-21T23:40:38.700", Правильно ли я, что фактические значения, хранящиеся в памяти для сравнения, как-то отличаются? например, база данных, вероятно, содержит больше или меньше наносекунд? Или что преобразование в метку времени и обратно делает некоторое усечение?

ТИА

0 ответов

Другие вопросы по тегам