Fliter jakarta.persistence types from AOT Metamodel.

Otherwise, Hibernate fails with weird resolution errors.

See #3872
This commit is contained in:
Mark Paluch
2025-05-09 12:14:17 +02:00
parent 01e4e75617
commit 219e5c58e4
2 changed files with 4 additions and 2 deletions

View File

@@ -47,7 +47,7 @@ class AotMetamodel implements Metamodel {
private final Lazy<EntityManager> entityManager = Lazy.of(() -> entityManagerFactory.get().createEntityManager());
public AotMetamodel(Set<Class<?>> managedTypes) {
this("dynamic-tests", managedTypes);
this("AotMetamodel", managedTypes);
}
private AotMetamodel(String persistenceUnit, Set<Class<?>> managedTypes) {

View File

@@ -20,6 +20,7 @@ import jakarta.persistence.EntityManagerFactory;
import java.lang.reflect.Method;
import java.util.Map;
import java.util.stream.Collectors;
import org.jspecify.annotations.Nullable;
@@ -71,7 +72,8 @@ public class JpaRepositoryContributor extends RepositoryContributor {
super(repositoryContext);
AotMetamodel amm = new AotMetamodel(repositoryContext.getResolvedTypes());
AotMetamodel amm = new AotMetamodel(repositoryContext.getResolvedTypes().stream()
.filter(it -> !it.getName().startsWith("jakarta.persistence")).collect(Collectors.toSet()));
this.persistenceProvider = PersistenceProvider.fromEntityManagerFactory(amm.getEntityManagerFactory());
this.queriesFactory = new QueriesFactory(amm.getEntityManagerFactory(), amm);