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 acf6623527beab54246aa96e3b1cd75b104d3af6 Author: Walter Duque de Estrada <[email protected]> AuthorDate: Fri Feb 13 10:53:03 2026 -0600 summary of the changes: 1. `ComponentBinder.java`: Updated the bindComponent method signature to accept HibernateEmbeddedProperty instead of Embedded. Removed the redundant cast. 2. `ComponentPropertyBinder.java`: Updated the bindComponentProperty method to use HibernateEmbeddedProperty in pattern matching. Updated the bindComponent method signature to use HibernateEmbeddedProperty. Added the necessary import. 3. `GrailsPropertyBinder.java`: Updated the bindProperty method to use HibernateEmbeddedProperty in pattern matching and the call to componentPropertyBinder.bindComponent. Added the necessary import. 4. `ComponentBinderSpec.groovy`: Updated the test to use HibernateEmbeddedProperty in GroovyMock. Added the necessary import. --- .../orm/hibernate/cfg/domainbinding/binder/ComponentBinder.java | 6 +++--- .../hibernate/cfg/domainbinding/binder/ComponentPropertyBinder.java | 5 +++-- .../hibernate/cfg/domainbinding/binder/GrailsPropertyBinder.java | 3 ++- .../orm/hibernate/cfg/domainbinding/ComponentBinderSpec.groovy | 4 ++-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentBinder.java index 5e286b6126..5952527b1b 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentBinder.java @@ -9,11 +9,11 @@ import org.hibernate.mapping.Table; import org.grails.datastore.mapping.model.PersistentProperty; import org.grails.datastore.mapping.model.config.GormProperties; -import org.grails.datastore.mapping.model.types.Embedded; import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentEntity; import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentProperty; import org.grails.orm.hibernate.cfg.GrailsHibernateUtil; import org.grails.orm.hibernate.cfg.MappingCacheHolder; +import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateEmbeddedProperty; import jakarta.annotation.Nonnull; @@ -32,7 +32,7 @@ public class ComponentBinder { this.componentPropertyBinder = null; } - public void bindComponent(Component component, Embedded property, + public void bindComponent(Component component, HibernateEmbeddedProperty property, boolean isNullable, @Nonnull InFlightMetadataCollector mappings, String sessionFactoryBeanName) { Class<?> type = property.getType(); String role = GrailsHibernateUtil.qualify(type.getName(), property.getName()); @@ -57,7 +57,7 @@ public class ComponentBinder { } if (currentGrailsProp instanceof GrailsHibernatePersistentProperty hibernateProp) { - componentPropertyBinder.bindComponentProperty(component, (GrailsHibernatePersistentProperty) property, hibernateProp, persistentClass, path, + componentPropertyBinder.bindComponentProperty(component, property, hibernateProp, persistentClass, path, table, mappings, sessionFactoryBeanName); } } diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentPropertyBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentPropertyBinder.java index 909d32462e..44854c9d65 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentPropertyBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentPropertyBinder.java @@ -23,6 +23,7 @@ import org.grails.datastore.mapping.model.types.Association; import org.grails.datastore.mapping.model.types.Embedded; import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentEntity; import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentProperty; +import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateEmbeddedProperty; import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateToManyProperty; import org.grails.orm.hibernate.cfg.MappingCacheHolder; import org.grails.orm.hibernate.cfg.PersistentEntityNamingStrategy; @@ -128,7 +129,7 @@ public class ComponentPropertyBinder { new ManyToOneBinder(namingStrategy).bindManyToOne((Association) currentGrailsProp, (ManyToOne) value, path); } } - else if (currentGrailsProp instanceof Embedded embedded) { + else if (currentGrailsProp instanceof HibernateEmbeddedProperty embedded) { value = new Component(metadataBuildingContext, persistentClass); componentBinder.bindComponent((Component) value, embedded, true, mappings, sessionFactoryBeanName); } @@ -158,7 +159,7 @@ public class ComponentPropertyBinder { } } - public void bindComponent(Component component, Embedded property, + public void bindComponent(Component component, HibernateEmbeddedProperty property, boolean isNullable, @Nonnull InFlightMetadataCollector mappings, String sessionFactoryBeanName) { componentBinder.bindComponent(component, property, isNullable, mappings, sessionFactoryBeanName); } diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsPropertyBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsPropertyBinder.java index e85fb8e881..55ee7f86dd 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsPropertyBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsPropertyBinder.java @@ -4,6 +4,7 @@ import jakarta.annotation.Nonnull; import org.grails.datastore.mapping.model.types.Association; import org.grails.datastore.mapping.model.types.Embedded; import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentProperty; +import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateEmbeddedProperty; import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateToManyProperty; import org.grails.orm.hibernate.cfg.Mapping; import org.grails.orm.hibernate.cfg.PersistentEntityNamingStrategy; @@ -135,7 +136,7 @@ public class GrailsPropertyBinder { value = new ManyToOne(metadataBuildingContext, table); manyToOneBinder.bindManyToOne((Association)currentGrailsProp, (ManyToOne)value, EMPTY_PATH); } - else if (currentGrailsProp instanceof Embedded embedded) { + else if (currentGrailsProp instanceof HibernateEmbeddedProperty embedded) { value = new Component(metadataBuildingContext, persistentClass); componentPropertyBinder.bindComponent((Component)value, embedded, true, mappings, sessionFactoryBeanName); } diff --git a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentBinderSpec.groovy b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentBinderSpec.groovy index 0fba841c21..289d9e0b5c 100644 --- a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentBinderSpec.groovy +++ b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentBinderSpec.groovy @@ -2,7 +2,7 @@ package org.grails.orm.hibernate.cfg.domainbinding import grails.gorm.specs.HibernateGormDatastoreSpec import org.grails.datastore.mapping.model.PersistentProperty -import org.grails.datastore.mapping.model.types.Embedded +import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateEmbeddedProperty import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentEntity import org.grails.orm.hibernate.cfg.MappingCacheHolder @@ -32,7 +32,7 @@ class ComponentBinderSpec extends HibernateGormDatastoreSpec { root.setEntityName("MyEntity") def component = new Component(metadataBuildingContext, root) - def embeddedProp = GroovyMock(Embedded) + def embeddedProp = GroovyMock(HibernateEmbeddedProperty) def associatedEntity = GroovyMock(GrailsHibernatePersistentEntity) embeddedProp.getType() >> Address
