diff --git a/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/innerclass/InnerRepositoryTest.java b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/innerclass/InnerRepositoryTest.java new file mode 100644 index 000000000000..d1885c20d6a8 --- /dev/null +++ b/tooling/metamodel-generator/src/jakartaData/java/org/hibernate/processor/test/data/innerclass/InnerRepositoryTest.java @@ -0,0 +1,43 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.processor.test.data.innerclass; + +import jakarta.data.page.Page; +import jakarta.data.page.PageRequest; +import jakarta.data.repository.DataRepository; +import jakarta.data.repository.Find; +import jakarta.data.repository.Repository; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import org.hibernate.processor.test.util.CompilationTest; +import org.hibernate.processor.test.util.WithClasses; +import org.junit.Test; + +import static org.hibernate.processor.test.util.TestUtil.assertMetamodelClassGeneratedFor; +import static org.hibernate.processor.test.util.TestUtil.getMetaModelSourceAsString; + +public class InnerRepositoryTest extends CompilationTest { + + @Test + @WithClasses({Thing.class, ThingRepo.class}) + public void test() { + System.out.println( getMetaModelSourceAsString( ThingRepo.class ) ); + assertMetamodelClassGeneratedFor( ThingRepo.class ); + } + + @Entity + public static class Thing { + @Id + Long id; + + String data; + } + + @Repository + public interface ThingRepo extends DataRepository { + @Find + Page thing(PageRequest pageRequest); + } +} diff --git a/tooling/metamodel-generator/src/main/java/org/hibernate/processor/annotation/AnnotationMetaEntity.java b/tooling/metamodel-generator/src/main/java/org/hibernate/processor/annotation/AnnotationMetaEntity.java index 02575440a96c..c411be01ad67 100644 --- a/tooling/metamodel-generator/src/main/java/org/hibernate/processor/annotation/AnnotationMetaEntity.java +++ b/tooling/metamodel-generator/src/main/java/org/hibernate/processor/annotation/AnnotationMetaEntity.java @@ -183,6 +183,9 @@ public AnnotationMetaEntity( importContext.importType( getGeneratedClassFullyQualifiedName( element, getPackageName( context, element ), jakartaDataStaticModel ) ); + if ( !element.getQualifiedName().toString().endsWith( "$" ) ) { + importContext.importType( element.getQualifiedName().toString() ); + } } public static AnnotationMetaEntity create(TypeElement element, Context context, @Nullable AnnotationMetaEntity parent) {