Branch: refs/heads/main
Home:
https://github.com/hibernate/hibernate-orm
Commit: 5bb29134b518fda918d264ecd20ad566a266f2e2
https://github.com/hibernate/hibernate-orm/commit/5bb29134b518fda918d264e...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M
hibernate-envers/src/test/java/org/hibernate/orm/test/envers/integration/inheritance/single/dynamic/Named.java
M
tooling/hibernate-maven-plugin/src/test/java/org/hibernate/orm/tooling/maven/HibernateEnhancerMojoTest.java
M
tooling/hibernate-reveng/src/main/java/org/hibernate/tool/reveng/internal/export/mapping/MappingExporter.java
M
tooling/hibernate-reveng/src/test/java/org/hibernate/tool/reveng/internal/export/mapping/MappingExporterTest.java
Log Message:
-----------
HHH-20482 Fix Tools/Envers tests mutating final fields for no good reason
Commit: 99f553ef1ebf92c0320ca010b6cbc636b90044fb
https://github.com/hibernate/hibernate-orm/commit/99f553ef1ebf92c0320ca01...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M
hibernate-core/src/test/java/org/hibernate/orm/test/annotations/cascade/CodedPairSetHolder.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/annotations/idclassgeneratedvalue/MultiplePK.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/annotations/idclassgeneratedvalue/SimplePK.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/annotations/inheritance/SingleTableInheritanceEagerAssociationTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/annotations/inheritance/SingleTableInheritanceLazyAssociationTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/annotations/onetomany/Asset.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/annotations/onetomany/Employee.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/batch/BatchUpdateAndVersionTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/batch/EmbeddableAndFetchModeSelectTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/cache/CacheModeGetUpdateTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/cache/TransactionalConcurrencyCollectionCacheEvictionTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/cascade/CascadeMergeToProxyEntityCopyAllowedTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/cascade/circle/delete/Person.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/compositefk/OneToOneEmbeddedIdWithGenericsTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/idclass/IdClassSingleOneToOneTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/idgen/foreign/ForeignGeneratorResourceLocalTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/insertordering/ElementCollectionTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/insertordering/InsertOrderingWithCascadeOnPersist.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/jpa/DetachedPreviousRowStateTest.java
M hibernate-core/src/test/java/org/hibernate/orm/test/jpa/EmptyMapTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/jpa/graphs/CacheableEntityGraphTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/jpa/orphan/onetomany/PersistAndQueryingInSameTransactionTest.java
M hibernate-core/src/test/java/org/hibernate/orm/test/locking/RemoveEntityTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/manytomany/generic/ManyToManyGenericTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/manytomany/generic/ManyToManyNonGenericTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/mapping/cascade/PersistOnLazyCollectionTests.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/mapping/collections/ElementCollectionMapUpdateTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/mapping/converted/converter/map/MapElementBaseTypeConversionTest.java
M hibernate-core/src/test/java/org/hibernate/orm/test/mapping/naturalid/cid/AId.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/mapping/naturalid/composite/AccountId.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/query/OneToManyLazyAndEagerProxyTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/ElementCollectionLeftJoinSubqueryTest.java
Log Message:
-----------
HHH-20482 Fix core tests mutating final fields for no good reason
Remove final keywords from entity fields in test classes that were
failing under JDK 27 due to stricter final field mutation restrictions.
These fields need to be mutable for Hibernate's entity lifecycle
operations (loading, dirty checking, etc.).
Fixed 32 test files including entity fields, ID fields, embedded IDs,
and collection fields.
Excluded from changes: FinalEmbeddableFieldTest and FinalFieldTest,
as these tests specifically verify Hibernate's handling of final fields.
Assisted-By: Claude Code <noreply(a)anthropic.com>
Commit: 90e2815ba0dfe290863687dd4362fdd1b83b78c2
https://github.com/hibernate/hibernate-orm/commit/90e2815ba0dfe290863687d...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M
hibernate-core/src/test/java/org/hibernate/orm/test/mapping/basic/FinalEmbeddableFieldTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/mapping/basic/FinalFieldTest.java
Log Message:
-----------
HHH-20482 Add tests for final fields in various use cases
Extended FinalFieldTest to cover all the use cases where final fields
are commonly used in Hibernate entities:
- Final @Id field
- Final fields in @IdClass composite keys
- Final fields in @IdClass composite keys as records
- Final @EmbeddedId field
- Final @OneToMany collections
- Final @ManyToMany collections
- Final @ElementCollection
Each test persists and loads entities with non-null values to verify
Hibernate can handle final fields. These tests pass locally but will
fail on CI with JDK 26+ using --illegal-final-field-mutation flag,
demonstrating that Hibernate's support for final fields requires field
mutation capabilities that will eventually be removed from the JDK.
Assisted-By: Claude Code <noreply(a)anthropic.com>
Commit: 14e5c98589480b36c1c117fc22df26fff43a6faf
https://github.com/hibernate/hibernate-orm/commit/14e5c98589480b36c1c117f...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M
hibernate-core/src/test/java/org/hibernate/orm/test/mapping/basic/FinalEmbeddableFieldTest.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/mapping/basic/FinalFieldTest.java
M hibernate-testing/src/main/java/org/hibernate/testing/util/ReflectionUtil.java
Log Message:
-----------
HHH-20482 Skip non-enhanced variant of final field tests when JVM denies final field
mutation
The tests now use JUnit 5 Assumptions to conditionally skip the non-enhanced
variant when the JVM denies final field mutation (typically on JDK 26+ with
the --illegal-final-field-mutation flag). This is detected in ReflectionUtil
by actually trying to mutate a final field via reflection and caching the
result in a static field, making it robust and independent of JVM argument
parsing.
This allows the tests to run both enhanced and non-enhanced variants on JDKs
that allow final field mutation (JDK 25 and below), while only running the
enhanced variant when mutation is denied (JDK 26+ with the flag), since bytecode
enhancement removes the final modifier.
Assisted-By: Claude Code <noreply(a)anthropic.com>
Commit: 2fcaecad9e88d1168c6835fef6dcc601a493ab9d
https://github.com/hibernate/hibernate-orm/commit/2fcaecad9e88d1168c6835f...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M gradle.properties
Log Message:
-----------
HHH-20482 Bump maximum supported Java version in Gradle
9.4.0 and after support JDK 26, see
https://docs.gradle.org/current/userguide/compatibility.html#java_runtime
Commit: f406915e2e091955ae4962b03d02c618b95c4046
https://github.com/hibernate/hibernate-orm/commit/f406915e2e091955ae4962b...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M Jenkinsfile
Log Message:
-----------
HHH-20482 Add --illegal-final-field-mutation to JDK 26+ test runs
To gain confidence that the move of OpenJDK to forbid final field
mutation (eventually) will not affect Hibernate -- as we expect.
Compare:
https://github.com/hibernate/hibernate-orm/compare/377901509e88...f406915...
To unsubscribe from these emails, change your notification settings at
https://github.com/hibernate/hibernate-orm/settings/notifications