| For example, 2018-03-25T02:00:00.0 is not valid in the timezone Europe/Paris, because the DST starts at that time, so 2AM never occurred that day and people leaped from 1:59AM to 3AM directly. A LocalDate representing 2018-03-25T02:00:00.0 can still exist (and be legitimate) in an application. But as soon as one tries to persist this value through Hibernate ORM, the LocalDate will be converted to a Timestamp using the default JVM timezone, and if this timezone happens to be Europe/Paris, the LocalDate will be silently chaned to 2018-03-25T03:00:00.0. Whether the shift happens on database write or read is not clear yet. This looks odd: a LocalDate is supposedly not related to the JVM timezone and should not be affected by it. Note the problem happens even when the JDBC timezone is set to GMT. I do not think it's a recent regression, but rather a bug that's always been there. See the commented data set added to LocalDateTimeTest as part of HHH-13379 Open . |