Skip to content

Conversation

@Sanne
Copy link
Member

@Sanne Sanne commented Aug 4, 2025

I'm taking over from Yoann as he's on PTO, so continuing his work based on preview PR #49140

Migration guide entry:

== Hibernate ORM

=== Upgrade to Hibernate ORM 7.1

The Quarkus extension for Hibernate ORM was upgraded to Hibernate ORM 7.1.

Hibernate ORM 7.1 is for the most part backwards-compatible with Hibernate ORM 7.0. However, a few breaking changes are to be expected. Below are the ones most likely to affect existing applications.

Refer to the https://docs.jboss.org/hibernate/orm/7.1/migration-guide/migration-guide.html[Hibernate ORM 7.1 migration guide] for more information.

=== API changes

* https://docs.jboss.org/hibernate/orm/7.1/migration-guide/migration-guide.html#lock-options[A few of the more problematic, deprecated features of `LockOptions` have been removed].
* https://docs.jboss.org/hibernate/orm/7.1/migration-guide/migration-guide.html#session-getLobHelper[`Session#getLobHelper` was deprecated in favor of `Hibernate#getLobHelper`].

[[orm-db-versions]]
=== Minimum database versions

As with every new version of Hibernate ORM, the minimum required version of databases was bumped to the *oldest version still supported* by their respective vendor. In particular:

* IBM DB2: bumped minimum version from 10.5 to 11.1
* MariaDB: bumped minimum version from 10.5 to 10.6
* Microsoft SQL Server: bumped minimum version from 11.0 (2012) to 12.0 (2014)

See https://docs.jboss.org/hibernate/orm/7.1/dialect/dialect.html[here] for details on the current minimum versions.

== Hibernate Reactive

=== Upgrade to Hibernate Reactive 3.1

The Quarkus extension for Hibernate Reactive was upgraded to Hibernate Reactive 3.1.

Hibernate Reactive 3.1 is backwards-compatible with Hibernate Reactive 3.0, with the exception of a few breaking changes inherited from Hibernate ORM and listed xref:#++hibernate-orm++[above].

== Hibernate Search

=== Upgrade to Hibernate Search 8.1

The Quarkus extensions for Hibernate Search were upgraded to Hibernate Search 8.1.

Hibernate Search 8.1 is backwards-compatible with Hibernate Search 8.0, apart from a few deprecations.

Refer to the the https://docs.jboss.org/hibernate/search/8.1/migration/html_single/[Hibernate Search 8.1 migration guide] for more information.

@quarkus-bot quarkus-bot bot added area/hibernate-orm Hibernate ORM area/hibernate-reactive Hibernate Reactive labels Aug 4, 2025
@quarkus-bot
Copy link

quarkus-bot bot commented Aug 4, 2025

/cc @gsmet (hibernate-orm)

@Sanne Sanne changed the title Orm 7.1 Hibernate ORM 7.1 cr1 Aug 4, 2025
@quarkus-bot

This comment has been minimized.

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

🎊 PR Preview fc7d4cb has been successfully built and deployed to https://quarkus-pr-main-49344-preview.surge.sh/version/main/guides/

  • Images of blog posts older than 3 months are not available.
  • Newsletters older than 3 months are not available.

@Sanne Sanne marked this pull request as draft August 4, 2025 15:46
@Sanne
Copy link
Member Author

Sanne commented Aug 4, 2025

Converting to draft after meeting with the ORM team: there's currently some doubt about the date of the ORM Final release, it might need to slip a little.

@Sanne Sanne changed the title Hibernate ORM 7.1 cr1 Hibernate ORM 7.1.0.CR2 Aug 6, 2025
@Sanne
Copy link
Member Author

Sanne commented Aug 6, 2025

Updated to Hibernate ORM 7.1.0.CR2, Reactive 3.1.0.CR2, Search 8.1.0.CR2

@Sanne Sanne marked this pull request as ready for review August 6, 2025 16:08
@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@mbellade
Copy link
Member

mbellade commented Aug 6, 2025

Hey @Sanne, looks like we need to implement the new find(String, Object) method introduced by hibernate/hibernate-orm@ae00af9

@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@yrodiere
Copy link
Member

yrodiere commented Aug 6, 2025

Looks like one of our tests using a custom H2 dialect needs to be adjusted following the mutation strategy changes:

Compilation failure:
/home/runner/_work/quarkus/quarkus/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/dev/H2CustomDialect.java:[20,52] error: <anonymous io.quarkus.hibernate.orm.dev.H2CustomDialect$1> is not abstract and does not override abstract method buildHandler(org.hibernate.query.sqm.tree.SqmDeleteOrUpdateStatement<?>,org.hibernate.query.sqm.internal.DomainParameterXref,org.hibernate.query.spi.DomainQueryExecutionContext) in org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy
        return new SqmMultiTableMutationStrategy() {

@yrodiere
Copy link
Member

yrodiere commented Aug 6, 2025

Also, thank you for taking care of this :)

@quarkus-bot
Copy link

quarkus-bot bot commented Aug 6, 2025

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit 6d3e135.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

Warning

There are other workflow runs running, you probably need to wait for their status before merging.

@Sanne
Copy link
Member Author

Sanne commented Aug 6, 2025

Also, thank you for taking care of this :)

don't you worry!

@quarkus-bot
Copy link

quarkus-bot bot commented Aug 6, 2025

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 6d3e135.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

You can consult the Develocity build scans.


Flaky tests - Develocity

⚙️ JVM Integration Tests - JDK 17 Windows

📦 integration-tests/grpc-hibernate

com.example.grpc.hibernate.VertxBlockingRawTest.shouldAdd - History

  • Condition with Lambda expression in com.example.grpc.hibernate.BlockingRawTestBase was not fulfilled within 30 seconds. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in com.example.grpc.hibernate.BlockingRawTestBase was not fulfilled within 30 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
	at com.example.grpc.hibernate.BlockingRawTestBase.shouldAdd(BlockingRawTestBase.java:59)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's unblock the other PRs!

@gsmet gsmet merged commit 27f72c4 into quarkusio:main Aug 7, 2025
59 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.26 - main milestone Aug 7, 2025
@quarkus-bot quarkus-bot bot added the kind/enhancement New feature or request label Aug 7, 2025
@Sanne Sanne deleted the orm-7.1 branch August 7, 2025 13:35
@yrodiere
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade to Hibernate ORM 7.1 / Reactive 3.1 / Search 8.1 Swapping Parent with Hibernate entity fails

5 participants