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 840a5d333a8fd85b5a1169d1634770b754dc3134
Author: Walter B Duque de Estrada <[email protected]>
AuthorDate: Sun Jan 25 15:36:58 2026 -0600

    progress
---
 .../orm/hibernate/cfg/GrailsDomainBinder.java      | 25 ++++++----------------
 .../HibernateDirtyCheckingSpec.groovy              |  1 -
 2 files changed, 7 insertions(+), 19 deletions(-)

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 ff2e9a4b36..29c0290983 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
@@ -49,7 +49,6 @@ import org.hibernate.boot.spi.AdditionalMappingContributions;
 import org.hibernate.boot.spi.AdditionalMappingContributor;
 import org.hibernate.boot.spi.InFlightMetadataCollector;
 import org.hibernate.boot.spi.MetadataBuildingContext;
-import org.hibernate.engine.OptimisticLockStyle;
 import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
 import org.hibernate.engine.spi.FilterDefinition;
 import org.hibernate.mapping.Backref;
@@ -1139,7 +1138,13 @@ public class GrailsDomainBinder
         Optional.ofNullable(persistentEntity).ifPresent(domainClass -> {
             try {
                 final Mapping m = new 
HibernateEntityWrapper().getMappedForm(domainClass);
-                trackCustomCascadingSaves(m, 
domainClass.getPersistentProperties());
+                for (PersistentProperty property : 
domainClass.getPersistentProperties()) {
+                    PropertyConfig propConf = 
m.getPropertyConfig(property.getName());
+
+                    if (propConf != null && propConf.getCascade() != null) {
+                        
propConf.setExplicitSaveUpdateCascade(CascadeBehavior.isSaveUpdate(propConf.getCascade()));
+                    }
+                }
                 cacheMapping(domainClass.getJavaClass(), m);
             } catch (Exception e) {
                 throw new DatastoreConfigurationException("Error evaluating 
ORM mappings block for domain [" +
@@ -1149,21 +1154,6 @@ public class GrailsDomainBinder
 
     }
 
-    /**
-     * Checks for any custom cascading saves set up via the mapping DSL and 
records them within the persistent property.
-     * @param mapping The Mapping.
-     * @param persistentProperties The persistent properties of the domain 
class.
-     */
-    private void trackCustomCascadingSaves(Mapping mapping, 
Iterable<PersistentProperty> persistentProperties) {
-        for (PersistentProperty property : persistentProperties) {
-            PropertyConfig propConf = 
mapping.getPropertyConfig(property.getName());
-
-            if (propConf != null && propConf.getCascade() != null) {
-                
propConf.setExplicitSaveUpdateCascade(CascadeBehavior.isSaveUpdate(propConf.getCascade()));
-            }
-        }
-    }
-
 
     /**
      * Binds a root class (one with no super classes) to the runtime meta model
@@ -1814,7 +1804,6 @@ public class GrailsDomainBinder
      */
     private void bindComponent(Component component, Embedded property,
                                  boolean isNullable, InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) {
-        component.setEmbedded(true);
         Class<?> type = property.getType();
         String role = qualify(type.getName(), property.getName());
         component.setRoleName(role);
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/dirtychecking/HibernateDirtyCheckingSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/dirtychecking/HibernateDirtyCheckingSpec.groovy
index 7df8e2943d..967041d4c6 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/dirtychecking/HibernateDirtyCheckingSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/dirtychecking/HibernateDirtyCheckingSpec.groovy
@@ -70,7 +70,6 @@ class HibernateDirtyCheckingSpec extends 
HibernateGormDatastoreSpec {
     }
 
     @Rollback
-    //TODO Embedded class not working
     void "test dirty checking on embedded"() {
         given: 'a new person'
         Person person = new Person(name: 'John', occupation: 'Grails 
developer', address: new Address(street: "Old Town", zip: "1234")).save(flush: 
true)

Reply via email to