Add date-time module: Instant vs LocalDateTime vs OffsetDateTime vs ZonedDateTime round-tripped across JVM time zones on H2 and PostgreSQL

Hibernate 7.4.14.Final (plus an 8.0.0.Beta4 preview run), H2 2.5.252, PostgreSQL 17.11 in Docker.
Same-JVM and cross-zone round trips, @TimeZoneStorage modes, DST gap/overlap, precision
(precision vs secondPrecision), hibernate.jdbc.time_zone, java_time_use_direct_jdbc default flip.
Supersedes the date/time experiments of docs/13 (7.4.5); chapter 13 is unchanged.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b7rnC7jppGGdHGESvy
This commit is contained in:
2026-10-29 00:56:54 +00:00
committed by Claude
co-authored by Claude Sonnet 5.5
parent c9faf35e61
commit ef2d2aa8ea
149 changed files with 2374 additions and 0 deletions
@@ -0,0 +1,25 @@
## hibernate-core 7.4.14.Final: org.hibernate.annotations.TimeZoneStorageType
public static final org.hibernate.annotations.TimeZoneStorageType NATIVE;
public static final org.hibernate.annotations.TimeZoneStorageType NORMALIZE;
public static final org.hibernate.annotations.TimeZoneStorageType NORMALIZE_UTC;
public static final org.hibernate.annotations.TimeZoneStorageType COLUMN;
public static final org.hibernate.annotations.TimeZoneStorageType AUTO;
public static final org.hibernate.annotations.TimeZoneStorageType DEFAULT;
## hibernate-core 7.4.14.Final: relevant setting names
public static final java.lang.String PREFERRED_INSTANT_JDBC_TYPE = "hibernate.type.preferred_instant_jdbc_type";
public static final java.lang.String JAVA_TIME_USE_DIRECT_JDBC = "hibernate.type.java_time_use_direct_jdbc";
public static final java.lang.String TIMEZONE_DEFAULT_STORAGE = "hibernate.timezone.default_storage";
public static final java.lang.String JDBC_TIME_ZONE = "hibernate.jdbc.time_zone";
## hibernate-core 8.0.0.Beta4: org.hibernate.annotations.TimeZoneStorageType
public static final org.hibernate.annotations.TimeZoneStorageType NATIVE;
public static final org.hibernate.annotations.TimeZoneStorageType NORMALIZE;
public static final org.hibernate.annotations.TimeZoneStorageType NORMALIZE_UTC;
public static final org.hibernate.annotations.TimeZoneStorageType COLUMN;
public static final org.hibernate.annotations.TimeZoneStorageType AUTO;
public static final org.hibernate.annotations.TimeZoneStorageType DEFAULT;
## hibernate-core 8.0.0.Beta4: relevant setting names
public static final java.lang.String PREFERRED_INSTANT_JDBC_TYPE = "hibernate.type.preferred_instant_jdbc_type";
public static final java.lang.String JAVA_TIME_USE_DIRECT_JDBC = "hibernate.type.java_time_use_direct_jdbc";
public static final boolean JAVA_TIME_USE_DIRECT_JDBC_DEFAULT = true;
public static final java.lang.String TIMEZONE_DEFAULT_STORAGE = "hibernate.timezone.default_storage";
public static final java.lang.String JDBC_TIME_ZONE = "hibernate.jdbc.time_zone";