Skip to content

Commit

Permalink
Merge pull request #44391 from yrodiere/orm-6.6.3
Browse files Browse the repository at this point in the history
Upgrade to Hibernate ORM 6.6.3.Final
  • Loading branch information
gsmet authored Nov 23, 2024
2 parents 9007580 + b827df5 commit b3a893c
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,9 @@ private static DotName createConstant(String fqcn) {
createConstant("java.util.UUID"),
createConstant("java.lang.Void"));

public static final List<DotName> STANDARD_STACK_ELEMENT_TYPES = List.of(
createConstant("org.hibernate.query.sqm.tree.select.SqmQueryPart"));

public static final DotName HIBERNATE_ORM_PROCESSOR = createConstant(
"io.quarkus.hibernate.orm.deployment.HibernateOrmProcessor");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,14 @@ ReflectiveClassBuildItem registerJdbcArrayTypesForReflection() {
.build();
}

// Workaround for https://hibernate.atlassian.net/browse/HHH-18875
// See https://hibernate.zulipchat.com/#narrow/channel/132094-hibernate-orm-dev/topic/StandardStack.20and.20reflection
@BuildStep
ReflectiveClassBuildItem registerStandardStackElementTypesForReflection() {
return ReflectiveClassBuildItem
.builder(ClassNames.STANDARD_STACK_ELEMENT_TYPES.stream().map(d -> d.toString() + "[]").toArray(String[]::new))
.reason("Workaround for https://hibernate.atlassian.net/browse/HHH-18875")
.build();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import org.hibernate.bytecode.enhance.spi.DefaultEnhancementContext;
import org.hibernate.bytecode.enhance.spi.UnloadedField;
import org.hibernate.bytecode.enhance.spi.UnsupportedEnhancementStrategy;

public final class QuarkusEnhancementContext extends DefaultEnhancementContext {

Expand All @@ -26,4 +27,15 @@ public ClassLoader getLoadingClassLoader() {
throw new IllegalStateException("The Classloader of the EnhancementContext should not be used");
}

@Override
public UnsupportedEnhancementStrategy getUnsupportedEnhancementStrategy() {
// We expect model classes to be enhanced.
// Lack of enhancement could lead to many problems,
// from bad performance, to Quarkus-specific optimizations causing errors/data loss,
// to incorrect generated bytecode (references to non-existing methods).
// If something prevents enhancement, it's just safer to have Hibernate ORM's enhancer fail
// with a clear error message pointing to the application class that needs to be fixed.
return UnsupportedEnhancementStrategy.FAIL;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ public void testNoMissingHibernateAnnotation() {
}

private static void ignoreInternalAnnotations(Set<DotName> annotationSet) {
annotationSet.removeIf(name -> name.toString().equals("org.hibernate.cfg.Compatibility"));
annotationSet.removeIf(name -> name.toString().equals("org.hibernate.cfg.Unsafe"));
annotationSet.removeIf(name -> name.toString().equals("org.hibernate.Incubating"));
annotationSet.removeIf(name -> name.toString().equals("org.hibernate.Internal"));
annotationSet.removeIf(name -> name.toString().equals("org.hibernate.Remove"));
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
<jacoco.version>0.8.12</jacoco.version>
<kubernetes-client.version>6.13.4</kubernetes-client.version> <!-- Please check with Java Operator SDK team before updating -->
<rest-assured.version>5.5.0</rest-assured.version>
<hibernate-orm.version>6.6.1.Final</hibernate-orm.version> <!-- WARNING when updating, also align the versions below -->
<hibernate-orm.version>6.6.3.Final</hibernate-orm.version> <!-- WARNING when updating, also align the versions below -->
<antlr.version>4.13.0</antlr.version> <!-- version controlled by Hibernate ORM's needs -->
<bytebuddy.version>1.14.18</bytebuddy.version> <!-- version controlled by Hibernate ORM's needs -->
<hibernate-commons-annotations.version>7.0.3.Final</hibernate-commons-annotations.version> <!-- version controlled by Hibernate ORM's needs -->
Expand Down

0 comments on commit b3a893c

Please sign in to comment.