-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Upgrade to Hibernate ORM 7 #41310
base: main
Are you sure you want to change the base?
Conversation
85327ca
to
8d25fb0
Compare
Should we try to coordinate the Jakarta EE 11 updates? |
Quarkus definitely should plan for that, yes. I don't know the full implications for Quarkus, but I think at least CDI, Narayana and Validator (so probably EL too?) will need to be upgraded before or at the same time as we upgrade to Hibernate ORM 7.0. As well as Search and Reactive, of course. Fair warning though:
I'll set a reminder to ping you when I have a clearer view of what works and what doesn't in Quarkus itself. |
464af78
to
5f014d5
Compare
🎊 PR Preview f040b40 has been successfully built and deployed to https://quarkus-pr-main-41310-preview.surge.sh/version/main/guides/
|
I identified the Kotlin failures as a bug in hibernate-models: hibernate/hibernate-models#99 |
The XML mapping issue seems caused by https://hibernate.atlassian.net/browse/HHH-18662. |
Alright, I think I did all I could at this point. I will need new Beta releases of Hibernate ORM / Search / Reactive to go further. |
I pushed an upgrade to ORM 7.0.0.Beta2, but now the build is failing even earlier. Status:
|
3e07188
to
45179d2
Compare
I upgraded my branch to Hibernate ORM 7.0.0.Beta3 / Hibernate Reactive 3.0.0.Beta1, let's see what CI thinks... 🤞 @FroMage FYI ^ |
First because there's no reason not to (we're not testing the behavior for unmapped attributes), and second to work around a bug in Hibernate ORM 7.0 alphas/betas: https://hibernate.atlassian.net/browse/HHH-18662
…ersistenceProvider Not strictly necessary, but doesn't hurt and might allow more changes in the next commits.
Because: 1. We currently disallow this for identifier generators only through a custom initializer for the identifier generator factory service, but that service is disappearing in Hibernate ORM 7.0.0.Beta1, leaving us only the setting `hibernate.cdi.extensions`. to disallow CDI for identifier generators -- and anything else that impacts metadata creation. 2. This is needed for quarkusio#40897, which will move more of metadata creation to build time -- where CDI is just not available. 3. Implementations of affected components needing access to CDI at runtime (so not during metadata creation) can still do so by calling `Arc.container()` to retrieve the relevant beans.
Otherwise some direct uses of BeanContainer in ORM will just fail, due to Arc not implementing all features. Technically I think it doesn't change much right now, but will have an impact if we enable more "CDI extensions" (see last commit).
…equired dependencies With Derby moving to hibernate-community-dialects, Quarkus will need to add this dependency automatically.
…ilder Some of these changes probably pre-date Hibernate ORM 7.0, we just forgot to implement them.
This is WIP to upgrade Quarkus to Hibernate ORM 7 -- which isn't stable yet.
Based on #41359, which must be merged first.=> DoneOpening the PR as draft for anyone needing to build something on top of it.
Fixes #45164
Fixes #43368
Status / next steps:
StackOverflowError
hibernate/hibernate-models#99)HHH-
) and remove them if they are no longer necessary -- see in particular https://hibernate.atlassian.net/browse/HHH-19033quarkus-update