HHH-17377 - Migrate to JPA 3.2

https://hibernate.atlassian.net/browse/HHH-17377

Test compilation success!!  95 test failures next
This commit is contained in:
Steve Ebersole 2023-11-02 12:54:36 -05:00
parent 9dabfb7abb
commit ddb5188d9e
1 changed files with 6 additions and 6 deletions

View File

@ -16,18 +16,18 @@ earlier versions, see any other pertinent migration guides as well.
7.0 migrates to JPA 3.2 which is fairly disruptive, mainly around:
* type parameters
* Affects much of the Criteria API - especially roots, joins, paths
* Affects much of the Graph API -
* org.hibernate.graph.Graph.addAttributeNode(java.lang.String) defines a return while
** Affects much of the Criteria API - especially roots, joins, paths
** Affects much of the Graph API -
*** org.hibernate.graph.Graph.addAttributeNode(java.lang.String) defines a return while
1jakarta.persistence.Graph.addAttributeNode(java.lang.String)` does not.
* new JPA features colliding with previous Hibernate extension features
* `Nulls` (JPA) v. `NullPrecedence` (Hibernate), including JPA's new `Order#getNullPrecedence()` returning `Nulls`
** `Nulls` (JPA) v. `NullPrecedence` (Hibernate), including JPA's new `Order#getNullPrecedence()` returning `Nulls`
colliding with Hibernate's `SqmSortSpecification#getNullPrecedence` returning `NullPrecedence`. Hibernate's form
was renamed to `SqmSortSpecification#getHibernateNullPrecedence` to avoid the collision.
* `SchemaManager` is now also a JPA contract exposed as `EntityManagerFactory#getSchemaManager` which leads to type issues for
** `SchemaManager` is now also a JPA contract exposed as `EntityManagerFactory#getSchemaManager` which leads to type issues for
Hibernate's `SessionFactory#getSchemaManager`. Hibernate's `SchemaManager` now extends the new JPA `SchemaManager`.
But that is a bytecode incompatibility.
* JPA has added support in its Graph API for things Hibernate has supported for some time. Some of those are collisions
** JPA has added support in its Graph API for things Hibernate has supported for some time. Some of those are collisions
requiring changes to the Hibernate API.