This is an automated email from the ASF dual-hosted git repository.

borinquenkid pushed a commit to branch 8.0.x-hibernate7
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit d496cc0cce39c1a4c4996ab383ec138cd98f5f96
Author: Walter B Duque de Estrada <[email protected]>
AuthorDate: Mon Jan 26 09:35:10 2026 -0600

    progress
---
 grails-data-hibernate7/core/HIBERNATE7-TESTS.csv   | 28 +++++------
 .../orm/hibernate/cfg/GrailsDomainBinder.java      | 17 +------
 .../orm/hibernate/cfg/HibernateClassMapping.java   | 54 ++++++++++++++++++++++
 .../cfg/HibernateEmbeddedClassMapping.java         | 37 +++++++++++++++
 .../cfg/HibernateEmbeddedPersistentEntity.java     | 23 +--------
 .../hibernate/cfg/HibernatePersistentEntity.java   | 16 +------
 6 files changed, 109 insertions(+), 66 deletions(-)

diff --git a/grails-data-hibernate7/core/HIBERNATE7-TESTS.csv 
b/grails-data-hibernate7/core/HIBERNATE7-TESTS.csv
index 6c6745e824..9809a52a0f 100644
--- a/grails-data-hibernate7/core/HIBERNATE7-TESTS.csv
+++ b/grails-data-hibernate7/core/HIBERNATE7-TESTS.csv
@@ -1,21 +1,23 @@
 Test File , Status , Notes
-`src/test/groovy/grails/gorm/specs/UniqueWithMultipleDataSourcesSpec.groovy` , 
FAILED ,
-`src/test/groovy/grails/gorm/specs/dirtychecking/HibernateDirtyCheckingSpec.groovy`
 , FAILED , 
+`src/test/groovy/grails/gorm/specs/UniqueWithMultipleDataSourcesSpec.groovy` , 
PASSED ,
+`src/test/groovy/grails/gorm/specs/dirtychecking/HibernateDirtyCheckingSpec.groovy`
 , PASSED , 
 `src/test/groovy/grails/gorm/specs/perf/JoinPerfSpec.groovy` , FAILED , 
 `src/test/groovy/grails/gorm/specs/uuid/UuidInsertSpec.groovy` , FAILED , 
-`src/test/groovy/grails/gorm/specs/validation/SaveWithInvalidEntitySpec.groovy`
 , FAILED , 
-`TCK: org.apache.grails.data.testing.tck.tests.AttachMethodSpec` , SKIPPED , 
Requires fix in GORM Hibernate 7 implementation for entity re-attachment. 
+`src/test/groovy/grails/gorm/specs/validation/SaveWithInvalidEntitySpec.groovy`
 , PASSED , 
+`TCK: org.apache.grails.data.testing.tck.tests.AttachMethodSpec` , FAILED , 
 `TCK: 
org.apache.grails.data.testing.tck.tests.BuiltinUniqueConstraintWorksWithTargetProxiesConstraintsSpec`
 , FAILED , 
 `TCK: org.apache.grails.data.testing.tck.tests.DirtyCheckingSpec` , FAILED , 
 `TCK: org.apache.grails.data.testing.tck.tests.GroovyProxySpec` , SKIPPED , 
Requires fix in GORM Hibernate 7 implementation for proxy initialization 
(isInitialized method) for native proxies. 
 `TCK: org.apache.grails.data.testing.tck.tests.QueryEventsSpec` , FAILED , 
 `TCK: org.apache.grails.data.testing.tck.tests.SessionCreationEventSpec` , 
FAILED , 
-`TCK: org.apache.grails.data.testing.tck.tests.UpdateWithProxyPresentSpec` , 
FAILED , 
-`src/test/groovy/org/grails/orm/hibernate/HibernateGormInstanceApiSpec.groovy` 
, FAILED , 
-`src/test/groovy/org/grails/orm/hibernate/HibernateGormStaticApiSpec.groovy` , 
FAILED , 
-`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/SequenceGeneratorsSpec.groovy`
 , FAILED , only increment fails
-`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourceConnectionsSpec.groovy`
 , FAILED ,
-`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourcesWithCachingSpec.groovy`
 , SKIPPED , Multi-datasource mapping issue in Hibernate 7. 
-`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourcesWithEventsSpec.groovy`
 , FAILED , 
-`src/test/groovy/org/grails/orm/hibernate/connections/SchemaMultiTenantSpec.groovy`
 , FAILED , 
-`src/test/groovy/org/grails/orm/hibernate/connections/SingleTenantSpec.groovy` 
, FAILED ,
\ No newline at end of file
+`TCK: org.apache.grails.data.testing.tck.tests.UpdateWithProxyPresentSpec` , 
FAILED , Fails when hibernate7.gorm.suite=false
+`TCK: org.apache.grails.data.testing.tck.tests.NamedQuerySpec` , FAILED , 
Fails when hibernate7.gorm.suite=false
+`src/test/groovy/org/grails/orm/hibernate/HibernateGormInstanceApiSpec.groovy` 
, PASSED , 
+`src/test/groovy/org/grails/orm/hibernate/HibernateGormStaticApiSpec.groovy` , 
PASSED , 
+`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/SequenceGeneratorsSpec.groovy`
 , PASSED , 
+`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IncrementGeneratorSpec.groovy`
 , FAILED , 
+`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourceConnectionsSpec.groovy`
 , PASSED ,
+`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourcesWithCachingSpec.groovy`
 , PASSED , 
+`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourcesWithEventsSpec.groovy`
 , PASSED , 
+`src/test/groovy/org/grails/orm/hibernate/connections/SchemaMultiTenantSpec.groovy`
 , PASSED , 
+`src/test/groovy/org/grails/orm/hibernate/connections/SingleTenantSpec.groovy` 
, PASSED ,
\ No newline at end of file
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
index c4b2054829..3c7c7466ea 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
@@ -1092,23 +1092,8 @@ public class GrailsDomainBinder
 
     private void evaluateMapping(GrailsHibernatePersistentEntity 
persistentEntity) {
         Optional.ofNullable(persistentEntity).ifPresent(domainClass -> {
-            try {
-                Mapping m = domainClass.getMappedForm();
-                for (PersistentProperty property : 
domainClass.getPersistentProperties()) {
-                    PropertyConfig propConf = 
m.getPropertyConfig(property.getName());
-
-                    if (propConf != null && propConf.getCascade() != null) {
-                        
propConf.setExplicitSaveUpdateCascade(CascadeBehavior.isSaveUpdate(propConf.getCascade()));
-                    }
-                }
-                Class<?> theClass = domainClass.getJavaClass();
-                MappingCacheHolder.getInstance().cacheMapping(theClass, m);
-            } catch (Exception e) {
-                throw new DatastoreConfigurationException("Error evaluating 
ORM mappings block for domain [" +
-                        domainClass.getName() + "]:  " + e.getMessage(), e);
-            }
+            domainClass.getMappedForm();
         });
-
     }
 
 
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateClassMapping.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateClassMapping.java
new file mode 100644
index 0000000000..71201e7f27
--- /dev/null
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateClassMapping.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2015 original authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.grails.orm.hibernate.cfg;
+
+import org.grails.datastore.mapping.model.AbstractClassMapping;
+import org.grails.datastore.mapping.model.DatastoreConfigurationException;
+import org.grails.datastore.mapping.model.MappingContext;
+import org.grails.datastore.mapping.model.PersistentEntity;
+import org.grails.datastore.mapping.model.PersistentProperty;
+import org.grails.orm.hibernate.cfg.domainbinding.CascadeBehavior;
+
+/**
+ * A {@link org.grails.datastore.mapping.model.ClassMapping} implementation 
for Hibernate
+ *
+ * @author Graeme Rocher
+ * @since 5.0
+ */
+public class HibernateClassMapping extends AbstractClassMapping<Mapping> {
+    private final Mapping mappedForm;
+
+    public HibernateClassMapping(PersistentEntity entity, MappingContext 
context) {
+        super(entity, context);
+        try {
+            this.mappedForm = (Mapping) 
context.getMappingFactory().createMappedForm(entity);
+            for (PropertyConfig propConf : 
mappedForm.getPropertyConfigs().values()) {
+                if (propConf != null && propConf.getCascade() != null) {
+                    
propConf.setExplicitSaveUpdateCascade(CascadeBehavior.isSaveUpdate(propConf.getCascade()));
+                }
+            }
+            
MappingCacheHolder.getInstance().cacheMapping(entity.getJavaClass(), 
mappedForm);
+        } catch (Exception e) {
+            throw new DatastoreConfigurationException("Error evaluating ORM 
mappings block for domain [" +
+                    entity.getName() + "]:  " + e.getMessage(), e);
+        }
+    }
+
+    @Override
+    public Mapping getMappedForm() {
+        return mappedForm;
+    }
+}
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateEmbeddedClassMapping.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateEmbeddedClassMapping.java
new file mode 100644
index 0000000000..f832332e7b
--- /dev/null
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateEmbeddedClassMapping.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2015 original authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.grails.orm.hibernate.cfg;
+
+import org.grails.datastore.mapping.model.IdentityMapping;
+import org.grails.datastore.mapping.model.MappingContext;
+import org.grails.datastore.mapping.model.PersistentEntity;
+
+/**
+ * A {@link org.grails.datastore.mapping.model.ClassMapping} implementation 
for embedded entities in Hibernate
+ *
+ * @author Graeme Rocher
+ * @since 5.0
+ */
+public class HibernateEmbeddedClassMapping extends HibernateClassMapping {
+    public HibernateEmbeddedClassMapping(PersistentEntity entity, 
MappingContext context) {
+        super(entity, context);
+    }
+
+    @Override
+    public IdentityMapping getIdentifier() {
+        return null;
+    }
+}
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateEmbeddedPersistentEntity.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateEmbeddedPersistentEntity.java
index e0ba4369a8..2a0727d1d0 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateEmbeddedPersistentEntity.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernateEmbeddedPersistentEntity.java
@@ -32,28 +32,7 @@ public class HibernateEmbeddedPersistentEntity extends 
EmbeddedPersistentEntity<
 
     public HibernateEmbeddedPersistentEntity(Class type, MappingContext ctx) {
         super(type, ctx);
-        this.classMapping = new ClassMapping<Mapping>() {
-            Mapping mappedForm = (Mapping) 
context.getMappingFactory().createMappedForm(HibernateEmbeddedPersistentEntity.this);
-
-            @Override
-            public PersistentEntity getEntity() {
-                return HibernateEmbeddedPersistentEntity.this;
-            }
-
-            @Override
-            public Mapping getMappedForm() {
-                return mappedForm;
-            }
-
-            @Override
-            public IdentityMapping getIdentifier() {
-                return null;
-            }
-
-
-        };
-
-
+        this.classMapping = new HibernateEmbeddedClassMapping(this, ctx);
     }
 
     @Override
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernatePersistentEntity.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernatePersistentEntity.java
index 458d3a8223..4e5eb51174 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernatePersistentEntity.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/HibernatePersistentEntity.java
@@ -35,21 +35,7 @@ public class HibernatePersistentEntity extends 
AbstractPersistentEntity<Mapping>
     public HibernatePersistentEntity(Class javaClass, final MappingContext 
context) {
         super(javaClass, context);
 
-
-
-        this.classMapping = new AbstractClassMapping<Mapping>(this, context) {
-            Mapping mappedForm = (Mapping) 
context.getMappingFactory().createMappedForm(HibernatePersistentEntity.this);
-            @Override
-            public PersistentEntity getEntity() {
-                return HibernatePersistentEntity.this;
-            }
-
-            @Override
-            public Mapping getMappedForm() {
-                return mappedForm;
-            }
-        };
-
+        this.classMapping = new HibernateClassMapping(this, context);
     }
 
     @Override

Reply via email to