Отличие OffsetDateTime и ZonedDateTime при работе с базами данных заключается в том, что каждый из этих классов предоставляет разную информацию о дате и времени:
Таким образом, при операциях сравнения OffsetDateTime вернёт true, если это тот же самый момент времени, а для ZonedDateTime нужно, чтобы кроме этого совпало строковое представление таймзоны. 3
Ещё одно отличие заключается в том, что при сохранении в базу данных исходный часовой пояс OffsetDateTime и ZonedDateTime не сохраняется, драйвер сначала преобразует значения в локальный часовой пояс, а затем, если сохраняется момент времени, преобразует его в часовой пояс сессии. 4