From dc5b7e01df91f549c7a2c63482339b84b36cf8db Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sun, 4 May 2025 10:54:33 +0200 Subject: [PATCH 1/2] HHH-19425 fix missing '.class' when annotations copied to repo implementations --- .../main/java/org/hibernate/processor/ClassWriter.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tooling/metamodel-generator/src/main/java/org/hibernate/processor/ClassWriter.java b/tooling/metamodel-generator/src/main/java/org/hibernate/processor/ClassWriter.java index 6a30ac475479..22c514d78db4 100644 --- a/tooling/metamodel-generator/src/main/java/org/hibernate/processor/ClassWriter.java +++ b/tooling/metamodel-generator/src/main/java/org/hibernate/processor/ClassWriter.java @@ -17,6 +17,7 @@ import javax.lang.model.element.PackageElement; import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; +import javax.lang.model.type.TypeMirror; import javax.tools.Diagnostic; import javax.tools.FileObject; import java.io.IOException; @@ -190,9 +191,12 @@ private static void printAnnotationValue(PrintWriter pw, AnnotationValue value) else if (argument instanceof AnnotationMirror childAnnotation) { printAnnotation( childAnnotation, pw ); } + else if (argument instanceof TypeMirror) { + pw.print(argument); + pw.print(".class"); + } else if (argument instanceof List) { - final List list = - (List) argument; + final var list = (List) argument; pw.print('{'); boolean first = true; for (AnnotationValue listedValue : list) { From 1bf3424ae870ceadbf074640ba8ad64492fec9fc Mon Sep 17 00:00:00 2001 From: Gavin King Date: Sun, 4 May 2025 13:55:43 +0200 Subject: [PATCH 2/2] HHH-19425 test the fix --- .../java/org/hibernate/processor/test/data/eg/Library.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/eg/Library.java b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/eg/Library.java index 9ee10ca86153..a1db4fd53845 100644 --- a/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/eg/Library.java +++ b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/eg/Library.java @@ -27,7 +27,7 @@ import java.time.LocalDate; import java.util.List; -@Transactional +@Transactional(rollbackOn = RuntimeException.class) @Repository public interface Library {