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 3a3e060672b93c4486448ab8cf9b74c60fae1410
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Sat Mar 14 15:42:07 2026 -0500

    hibernate 7:  Refactoring signature of OneToOneBinder
---
 .../domainbinding/binder/GrailsPropertyBinder.java |  2 +-
 .../cfg/domainbinding/binder/OneToOneBinder.java   |  5 ++--
 .../cfg/domainbinding/OneToOneBinderSpec.groovy    | 28 +++++++++++++++++-----
 3 files changed, 26 insertions(+), 9 deletions(-)

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 d957e82a49..10d06e3394 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
@@ -78,7 +78,7 @@ public class GrailsPropertyBinder {
             value = enumTypeBinder.bindEnumType(currentGrailsProp, 
currentGrailsProp.getType(), table, path);
         } else if (currentGrailsProp instanceof HibernateOneToOneProperty 
oneToOne
                 && oneToOne.isValidHibernateOneToOne()) {
-            value = oneToOneBinder.bindOneToOne(oneToOne, persistentClass, 
table, path);
+            value = oneToOneBinder.bindOneToOne(oneToOne, path);
         } else if (currentGrailsProp instanceof HibernateOneToOneProperty 
oneToOne) {
             value = foreignKeyOneToOneBinder.bind(oneToOne, table, path);
         } else if (currentGrailsProp instanceof HibernateManyToOneProperty 
manyToOne) {
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/OneToOneBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/OneToOneBinder.java
index 3508ee82fe..cb75ac5a34 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/OneToOneBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/OneToOneBinder.java
@@ -21,6 +21,7 @@ package org.grails.orm.hibernate.cfg.domainbinding.binder;
 import org.hibernate.boot.spi.MetadataBuildingContext;
 import org.hibernate.mapping.OneToOne;
 import org.hibernate.mapping.PersistentClass;
+import org.hibernate.mapping.Table;
 
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateOneToOneProperty;
 
@@ -36,9 +37,9 @@ public class OneToOneBinder {
 
     public OneToOne bindOneToOne(
             final HibernateOneToOneProperty property,
-            PersistentClass owner,
-            org.hibernate.mapping.Table table,
             String path) {
+        Table table = property.getTable();
+        PersistentClass owner = 
property.getHibernateOwner().getPersistentClass();
         OneToOne oneToOne = new OneToOne(metadataBuildingContext, table, 
owner);
 
         oneToOne.setConstrained(property.isHibernateConstrained());
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/OneToOneBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/OneToOneBinderSpec.groovy
index f2759532ea..c248f0ed17 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/OneToOneBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/OneToOneBinderSpec.groovy
@@ -27,13 +27,18 @@ class OneToOneBinderSpec extends HibernateGormDatastoreSpec 
{
     def "should bind one-to-one mapping with defaults"() {
         given:
         def metadataBuildingContext = 
getGrailsDomainBinder().getMetadataBuildingContext()
+        def table = new org.hibernate.mapping.Table("OWNER_TABLE")
         def ownerRoot = new RootClass(metadataBuildingContext)
+        ownerRoot.setTable(table)
 
         def gormOneToOne = Mock(TestOneToOne)
-        def owner = Mock(PersistentEntity)
+        def owner = 
Mock(org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity)
 
         gormOneToOne.getName() >> "myOneToOne"
         gormOneToOne.getOwner() >> owner
+        gormOneToOne.getHibernateOwner() >> owner
+        owner.getPersistentClass() >> ownerRoot
+        gormOneToOne.getTable() >> table
         gormOneToOne.isHibernateConstrained() >> false
         gormOneToOne.getHibernateForeignKeyDirection() >> 
ForeignKeyDirection.TO_PARENT
         gormOneToOne.getHibernateFetchMode() >> FetchMode.DEFAULT
@@ -42,7 +47,7 @@ class OneToOneBinderSpec extends HibernateGormDatastoreSpec {
         gormOneToOne.needsSimpleValueBinding() >> false
 
         when:
-        def hibernateOneToOne = binder.bindOneToOne(gormOneToOne, ownerRoot, 
null, "")
+        def hibernateOneToOne = binder.bindOneToOne(gormOneToOne, "")
 
         then:
         hibernateOneToOne instanceof HibernateOneToOne
@@ -58,13 +63,18 @@ class OneToOneBinderSpec extends HibernateGormDatastoreSpec 
{
     def "should bind constrained one-to-one mapping when other side is 
hasOne"() {
         given:
         def metadataBuildingContext = 
getGrailsDomainBinder().getMetadataBuildingContext()
+        def table = new org.hibernate.mapping.Table("OWNER_TABLE")
         def ownerRoot = new RootClass(metadataBuildingContext)
+        ownerRoot.setTable(table)
 
         def gormOneToOne = Mock(TestOneToOne)
-        def owner = Mock(PersistentEntity)
+        def owner = 
Mock(org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity)
 
         gormOneToOne.getName() >> "myOneToOne"
         gormOneToOne.getOwner() >> owner
+        gormOneToOne.getHibernateOwner() >> owner
+        owner.getPersistentClass() >> ownerRoot
+        gormOneToOne.getTable() >> table
         gormOneToOne.isHibernateConstrained() >> true
         gormOneToOne.getHibernateForeignKeyDirection() >> 
ForeignKeyDirection.FROM_PARENT
         gormOneToOne.getHibernateFetchMode() >> FetchMode.DEFAULT
@@ -72,7 +82,7 @@ class OneToOneBinderSpec extends HibernateGormDatastoreSpec {
         gormOneToOne.needsSimpleValueBinding() >> true
 
         when:
-        def hibernateOneToOne = binder.bindOneToOne(gormOneToOne, ownerRoot, 
null, "")
+        def hibernateOneToOne = binder.bindOneToOne(gormOneToOne, "")
 
         then:
         hibernateOneToOne.isConstrained()
@@ -83,12 +93,18 @@ class OneToOneBinderSpec extends HibernateGormDatastoreSpec 
{
     def "should respect fetch mode from mapping"() {
         given:
         def metadataBuildingContext = 
getGrailsDomainBinder().getMetadataBuildingContext()
+        def table = new org.hibernate.mapping.Table("OWNER_TABLE")
         def ownerRoot = new RootClass(metadataBuildingContext)
+        ownerRoot.setTable(table)
 
         def gormOneToOne = Mock(TestOneToOne)
-        def owner = Mock(PersistentEntity)
+        def owner = 
Mock(org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity)
 
+        gormOneToOne.getName() >> "myOneToOne"
         gormOneToOne.getOwner() >> owner
+        gormOneToOne.getHibernateOwner() >> owner
+        owner.getPersistentClass() >> ownerRoot
+        gormOneToOne.getTable() >> table
         gormOneToOne.isHibernateConstrained() >> false
         gormOneToOne.getHibernateForeignKeyDirection() >> 
ForeignKeyDirection.TO_PARENT
         gormOneToOne.getHibernateFetchMode() >> FetchMode.JOIN
@@ -96,7 +112,7 @@ class OneToOneBinderSpec extends HibernateGormDatastoreSpec {
         gormOneToOne.needsSimpleValueBinding() >> true
 
         when:
-        def hibernateOneToOne = binder.bindOneToOne(gormOneToOne, ownerRoot, 
null, "")
+        def hibernateOneToOne = binder.bindOneToOne(gormOneToOne, "")
 
         then:
         hibernateOneToOne.getFetchMode() == FetchMode.JOIN

Reply via email to