2023-12-21 12:01:02 -05:00
|
|
|
= 6.5 Migration Guide
|
2015-08-20 15:29:48 -04:00
|
|
|
:toc:
|
2022-01-05 17:24:11 -05:00
|
|
|
:toclevels: 4
|
2022-12-22 11:29:51 -05:00
|
|
|
:docsBase: https://docs.jboss.org/hibernate/orm
|
2023-12-21 12:01:02 -05:00
|
|
|
:versionDocBase: {docsBase}/6.5
|
2022-12-22 11:29:51 -05:00
|
|
|
:userGuideBase: {versionDocBase}/userguide/html_single/Hibernate_User_Guide.html
|
|
|
|
:javadocsBase: {versionDocBase}/javadocs
|
2023-12-15 17:38:13 -05:00
|
|
|
:fn-instant: footnote:instant[JDBC 4.2, curiously, does not define support for Instant to be directly marshalled through the driver.]
|
2022-01-05 17:24:11 -05:00
|
|
|
|
2023-12-21 12:01:02 -05:00
|
|
|
This guide discusses migration to Hibernate ORM version 6.5. For migration from
|
2015-08-20 15:29:48 -04:00
|
|
|
earlier versions, see any other pertinent migration guides as well.
|
|
|
|
|
2023-12-21 12:01:02 -05:00
|
|
|
* link:{docsBase}/6.4/migration-guide/migration-guide.html[6.4 Migration guide]
|
2023-10-06 10:32:26 -04:00
|
|
|
* link:{docsBase}/6.3/migration-guide/migration-guide.html[6.3 Migration guide]
|
2023-01-27 04:28:55 -05:00
|
|
|
* link:{docsBase}/6.2/migration-guide/migration-guide.html[6.2 Migration guide]
|
2022-12-22 11:29:51 -05:00
|
|
|
* link:{docsBase}/6.1/migration-guide/migration-guide.html[6.1 Migration guide]
|
|
|
|
* link:{docsBase}/6.0/migration-guide/migration-guide.html[6.0 Migration guide]
|
|
|
|
|
2023-12-15 17:38:13 -05:00
|
|
|
|
|
|
|
[[java-time]]
|
|
|
|
== Java Time Handling
|
|
|
|
|
|
|
|
6.5 adds support for marshalling Java Time objects directly through the JDBC driver as defined by JDBC 4.2.
|
|
|
|
In previous versions, Hibernate would handle Java Time objects using `java.sql.Date`, `java.sql.Time` or
|
|
|
|
`java.sql.Timestamp` references as intermediate forms.
|
|
|
|
|
|
|
|
Another behavioral change with this is handling for timezones. `OffsetDateTime`, `OffsetTime` and
|
|
|
|
`ZonedDateTime` all encode explicit timezone information. With direct marshalling, Hibernate simply
|
|
|
|
passes along the value as-is. In the legacy behavior, since the `java.sql` variants do not
|
|
|
|
encode timezone information, Hibernate generally has to specially handle timezones when converting to
|
|
|
|
those intermediate forms.
|
|
|
|
|
|
|
|
For 6.5 this behavior is disabled by default. To opt-in,
|
|
|
|
|
|
|
|
[source]
|
|
|
|
----
|
|
|
|
hibernate.type.prefer_java_type_jdbc_types=false
|
|
|
|
----
|
|
|
|
|
|
|
|
It is expected the default will flip for 7.0.
|
|
|
|
|