This is an automated email from the ASF dual-hosted git repository. borinquenkid pushed a commit to branch 8.0.x-hibernate7-dev in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 7bac4bd16f7c635ec5891ebdae25298e764e361b Author: Walter Duque de Estrada <[email protected]> AuthorDate: Sat Mar 21 01:18:45 2026 -0500 hibernate 7: Proxy is working --- .../orm/hibernate/cfg/HibernateMappingContextConfiguration.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateMappingContextConfiguration.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateMappingContextConfiguration.java index e592c3c713..c423cbb617 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateMappingContextConfiguration.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateMappingContextConfiguration.java @@ -141,6 +141,12 @@ public class HibernateMappingContextConfiguration extends Configuration properties.put(JdbcSettings.JAKARTA_NON_JTA_DATASOURCE, applicationContext.getBean(dsName)); } properties.put(Environment.CURRENT_SESSION_CONTEXT_CLASS, currentSessionContext.getName()); + properties.put("hibernate.enhancer.bytecodeprovider.instance", new org.grails.orm.hibernate.proxy.GrailsBytecodeProvider()); + properties.put("hibernate.bytecode.allow_enhancement_as_proxy", "false"); + properties.put("hibernate.bytecode.enhancement_metadata_cache", "false"); + properties.put("hibernate.enhancer.enableLazyInitialization", "false"); + properties.put("hibernate.enhancer.enableDirtyTracking", "false"); + properties.put("hibernate.enhancer.enableAssociationManagement", "false"); ClassLoader classLoader = applicationContext.getClassLoader(); if (classLoader != null) { properties.put(AvailableSettings.CLASSLOADERS, classLoader); @@ -350,6 +356,9 @@ public class HibernateMappingContextConfiguration extends Configuration StandardServiceRegistryBuilder standardServiceRegistryBuilder = createStandardServiceRegistryBuilder(bootstrapServiceRegistry).applySettings(getProperties()); + org.grails.orm.hibernate.proxy.GrailsBytecodeProvider bytecodeProvider = new org.grails.orm.hibernate.proxy.GrailsBytecodeProvider(); + standardServiceRegistryBuilder.addService(org.hibernate.bytecode.spi.BytecodeProvider.class, bytecodeProvider); + StandardServiceRegistry ssr = standardServiceRegistryBuilder.build(); try { sessionFactory = super.buildSessionFactory(ssr);
