Отметки времени 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"
, Правильно ли я, что фактические значения, хранящиеся в памяти для сравнения, как-то отличаются? например, база данных, вероятно, содержит больше или меньше наносекунд? Или что преобразование в метку времени и обратно делает некоторое усечение?
ТИА