From 085565a771270f7a124186e7691381534018dd03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deleuze?= Date: Mon, 15 May 2023 11:45:15 +0200 Subject: [PATCH] Skip class transformer in PersistenceUnitInfoDescriptor for native images In order to restore native support with Hibernate 6.2, this change updates the PersistenceUnitInfoDescriptor instance created by SpringHibernateJpaPersistenceProvider in order to skip the class transformer for native images. Closes gh-30492 --- .../jpa/vendor/SpringHibernateJpaPersistenceProvider.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/SpringHibernateJpaPersistenceProvider.java b/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/SpringHibernateJpaPersistenceProvider.java index b3a104e5783..c1fbecc1c80 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/SpringHibernateJpaPersistenceProvider.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/SpringHibernateJpaPersistenceProvider.java @@ -22,6 +22,7 @@ import java.util.Map; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.spi.PersistenceUnitInfo; +import org.hibernate.bytecode.enhance.spi.EnhancementContext; import org.hibernate.cfg.Configuration; import org.hibernate.cfg.Environment; import org.hibernate.jpa.HibernatePersistenceProvider; @@ -63,6 +64,13 @@ class SpringHibernateJpaPersistenceProvider extends HibernatePersistenceProvider public List getManagedClassNames() { return mergedClassesAndPackages; } + + @Override + public void pushClassTransformer(EnhancementContext enhancementContext) { + if (!NativeDetector.inNativeImage()) { + super.pushClassTransformer(enhancementContext); + } + } }, properties).build(); }