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
This commit is contained in:
Sébastien Deleuze 2023-05-15 11:45:15 +02:00
parent 806519f78a
commit 085565a771
1 changed files with 8 additions and 0 deletions

View File

@ -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<String> getManagedClassNames() {
return mergedClassesAndPackages;
}
@Override
public void pushClassTransformer(EnhancementContext enhancementContext) {
if (!NativeDetector.inNativeImage()) {
super.pushClassTransformer(enhancementContext);
}
}
}, properties).build();
}