Skip to content

Commit 2b6dbe5

Browse files
committed
Fliter jakarta.persistence types from AOT Metamodel.
Otherwise, Hibernate fails with weird resolution errors. See #3872
1 parent 23567f7 commit 2b6dbe5

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/aot/AotMetamodel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class AotMetamodel implements Metamodel {
4747
private final Lazy<EntityManager> entityManager = Lazy.of(() -> entityManagerFactory.get().createEntityManager());
4848

4949
public AotMetamodel(Set<Class<?>> managedTypes) {
50-
this("dynamic-tests", managedTypes);
50+
this("AotMetamodel", managedTypes);
5151
}
5252

5353
private AotMetamodel(String persistenceUnit, Set<Class<?>> managedTypes) {

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/aot/JpaRepositoryContributor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import java.lang.reflect.Method;
2222
import java.util.Map;
23+
import java.util.stream.Collectors;
2324

2425
import org.jspecify.annotations.Nullable;
2526

@@ -71,7 +72,8 @@ public JpaRepositoryContributor(AotRepositoryContext repositoryContext) {
7172

7273
super(repositoryContext);
7374

74-
AotMetamodel amm = new AotMetamodel(repositoryContext.getResolvedTypes());
75+
AotMetamodel amm = new AotMetamodel(repositoryContext.getResolvedTypes().stream()
76+
.filter(it -> !it.getName().startsWith("jakarta.persistence")).collect(Collectors.toSet()));
7577

7678
this.persistenceProvider = PersistenceProvider.fromEntityManagerFactory(amm.getEntityManagerFactory());
7779
this.queriesFactory = new QueriesFactory(amm.getEntityManagerFactory(), amm);

0 commit comments

Comments
 (0)