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 76afa5510c7e776c41cde9c987d5876d227baff9
Author: Walter B Duque de Estrada <[email protected]>
AuthorDate: Tue Jan 6 23:05:01 2026 +0100

    some fixes and roadmap
---
 grails-data-hibernate7/core/HIBERNATE7-TESTS.md    | 140 +++++++++++++++++++++
 .../specs/ExecuteQueryWithinValidatorSpec.groovy   |   2 +-
 .../gorm/specs/HibernateGormDatastoreSpec.groovy   |   1 +
 .../cfg/domainbinding/ColumnBinderSpec.groovy      |  32 ++---
 .../ColumnConfigToColumnBinderSpec.groovy          |   2 +-
 .../cfg/domainbinding/IndexBinderSpec.groovy       |   2 +-
 .../cfg/domainbinding/ManyToOneBinderSpec.groovy   |   2 +-
 .../NaturalIdentifierBinderSpec.groovy             |   4 +-
 .../NumericColumnConstraintsBinderSpec.groovy      |  10 +-
 .../cfg/domainbinding/SimpleValueBinderSpec.groovy |  40 ++++--
 .../StringColumnConstraintsBinderSpec.groovy       |   2 +-
 .../domainbinding/UniqueNameGeneratorSpec.groovy   |  12 +-
 grails-data-test-report/build.gradle               |   1 +
 13 files changed, 208 insertions(+), 42 deletions(-)

diff --git a/grails-data-hibernate7/core/HIBERNATE7-TESTS.md 
b/grails-data-hibernate7/core/HIBERNATE7-TESTS.md
new file mode 100644
index 0000000000..74b2ad2deb
--- /dev/null
+++ b/grails-data-hibernate7/core/HIBERNATE7-TESTS.md
@@ -0,0 +1,140 @@
+# Hibernate 7 Test Status
+
+| Test File | Status | Notes |
+|-----------|--------|-------|
+| 
`src/test/groovy/org/grails/datastore/mapping/model/PersistentPropertySpec.groovy`
 | PASSED | |
+| `src/test/groovy/org/grails/orm/hibernate/DefaultConstraintsSpec.groovy` | 
PASSED | |
+| `src/test/groovy/org/grails/orm/hibernate/HibernateGormStaticApiSpec.groovy` 
| FAILED | withSession fails with persistence context issue; HQL escape test 
fails. |
+| 
`src/test/groovy/org/grails/orm/hibernate/HibernateGormInstanceApiSpec.groovy` 
| FAILED | delete() method missing/renamed? remove() called instead. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ForeignKeyColumnCountCalculatorSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueBinderSpec.groovy`
 | FAILED | Generator binding issues. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamingStrategyProviderSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnConfigToColumnBinderSpec.groovy`
 | FAILED | Sealed class org.hibernate.mapping.Column cannot be mocked. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/BackTigsTrimmerSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/UniqueNameGeneratorSpec.groovy`
 | FAILED | Sealed class org.hibernate.mapping.Column cannot be mocked. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ClassBinderSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnNameForPropertyAndPathFetcherSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CascadeBehaviorPersisterSpec.groovy`
 | FAILED | Unsupported cascade style: save-update. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ManyToOneBinderSpec.groovy`
 | FAILED | Final class org.hibernate.mapping.ManyToOne cannot be mocked. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamingStrategyWrapperSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CascadeBehaviorFetcherSpec.groovy`
 | FAILED | Expected save-update but got all. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/TableNameFetcherSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/StringColumnConstraintsBinderSpec.groovy`
 | FAILED | Sealed class org.hibernate.mapping.Column cannot be mocked. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueColumnBinderSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/HibernateEntityWrapperSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ManyToOneValuesBinderSpec.groovy`
 | FAILED | Final class org.hibernate.mapping.ManyToOne cannot be mocked. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NaturalIdentifierBinderSpec.groovy`
 | FAILED | Final/Sealed class issues with RootClass and Column. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProviderSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnBinderSpec.groovy`
 | FAILED | Column name mismatch: got "test" instead of expected. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/BackticksRemoverSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IndexBinderSpec.groovy`
 | FAILED | Sealed class org.hibernate.mapping.Column cannot be mocked. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CompositeIdentifierToManyToOneBinderSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/TableForManyCalculatorSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/PropertyBinderSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamespaceNameExtractorSpec.groovy`
 | FAILED | Final class org.hibernate.boot.model.relational.Namespace$Name 
cannot be mocked. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/UniqueKeyForColumnsCreatorSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CollectionForPropertyConfigBinderSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ShouldCollectionBindWithJoinColumnSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NumericColumnConstraintsBinderSpec.groovy`
 | FAILED | Sealed class org.hibernate.mapping.Column cannot be mocked. |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/DefaultColumnNameFetcherSpec.groovy`
 | FAILED | Package/class name parts in generated column names use dots instead 
of underscores? |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/EnumTypeBinderSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CreateKeyForPropsSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/cfg/HibernateMappingContextSpec.groovy`
 | PASSED | |
+| `src/test/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinderSpec.groovy` 
| PASSED | |
+| `src/test/groovy/org/grails/orm/hibernate/cfg/MappingSpec.groovy` | PASSED | 
|
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourceConnectionsSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/SecondLevelCacheSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/HibernateConnectionSourceSettingsSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/DataSourceConnectionSourceFactorySpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/SingleTenantSpec.groovy` 
| PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourcesWithEventsSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourceMetadataSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/PartitionedMultiTenancySpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/HibernateConnectionSourceFactorySpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/MultipleDataSourcesWithCachingSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/connections/SchemaMultiTenantSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/support/HibernateVersionSupportSpec.groovy`
 | PASSED | |
+| `src/test/groovy/org/grails/orm/hibernate/HibernateDatastoreSpec.groovy` | 
PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/HibernateCriteriaBuilderSpec.groovy` 
| PASSED | |
+| 
`src/test/groovy/org/grails/orm/hibernate/compiler/HibernateEntityTransformationSpec.groovy`
 | FAILED | Compilation error: Can't have an abstract method in a non-abstract 
class. |
+| 
`src/test/groovy/org/grails/orm/hibernate/BidirectionalManyToOneWithListMappingSpec.groovy`
 | FAILED | Final class org.hibernate.mapping.ManyToOne cannot be mocked. |
+| `src/test/groovy/grails/gorm/specs/UniqueConstraintHibernateSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/WhereQueryWithAssociationSortSpec.groovy` 
| PASSED | |
+| `src/test/groovy/grails/gorm/specs/HibernateGormDatastoreSpec.groovy` | 
PENDING | |
+| `src/test/groovy/grails/gorm/specs/CompositeIdWithJoinTableSpec.groovy` | 
PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/CascadeToBidirectionalAsssociationSpec.groovy`
 | PASSED | |
+| `src/test/groovy/grails/gorm/specs/SizeConstraintSpec.groovy` | PASSED | |
+| `src/test/groovy/grails/gorm/specs/TwoBidirectionalOneToManySpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/ExecuteQueryWithinValidatorSpec.groovy` | 
FAILED | Hibernate 7 removal: Session.save() method missing. |
+| `src/test/groovy/grails/gorm/specs/proxy/Hibernate6GroovyProxySpec.groovy` | 
FAILED | Hibernate 7 change: location.isInitialized() method missing. |
+| `src/test/groovy/grails/gorm/specs/proxy/ByteBuddyProxySpec.groovy` | PASSED 
| |
+| 
`src/test/groovy/grails/gorm/specs/WithNewSessionAndExistingTransactionSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/txs/TransactionalWithinReadOnlySpec.groovy` 
| PASSED | |
+| `src/test/groovy/grails/gorm/specs/txs/TransactionPropagationSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/txs/CustomIsolationLevelSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/TablePerSubClassAndEmbeddedSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/traits/TraitPropertySpec.groovy` | PASSED 
| |
+| `src/test/groovy/grails/gorm/specs/traits/InterfacePropertySpec.groovy` | 
PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/hasmany/TwoUnidirectionalHasManySpec.groovy` 
| FAILED | SQL Syntax error: Qualified column names in DDL. |
+| `src/test/groovy/grails/gorm/specs/hasmany/ListCollectionSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/hasmany/HasManyWithInQuerySpec.groovy` | 
PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/detachedcriteria/DetachedCriteriaProjectionAliasSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/detachedcriteria/DetachedCriteriaProjectionSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/detachedcriteria/DetachedCriteriaJoinSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/detachedcriteria/DetachCriteriaSubquerySpec.groovy`
 | PASSED | |
+| `src/test/groovy/grails/gorm/specs/IdentityEnumTypeSpec.groovy` | PASSED | |
+| `src/test/groovy/grails/gorm/specs/mappedby/MultipleOneToOneSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/ImportFromConstraintSpec.groovy` | PASSED 
| |
+| `src/test/groovy/grails/gorm/specs/SchemaNameSpec.groovy` | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/CompositeIdWithManyToOneAndSequenceSpec.groovy`
 | FAILED | NPE in Hibernate 7 SequenceStyleGenerator. |
+| 
`src/test/groovy/grails/gorm/specs/belongsto/BidirectionalOneToOneWithUniqueSpec.groovy`
 | PASSED | |
+| `src/test/groovy/grails/gorm/specs/SubqueryAliasSpec.groovy` | SKIPPED | |
+| `src/test/groovy/grails/gorm/specs/jpa/SimpleJpaEntitySpec.groovy` | PASSED 
| |
+| `src/test/groovy/grails/gorm/specs/LastUpdateWithDynamicUpdateSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/Hibernate6OptimisticLockingSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/EnumMappingSpec.groovy` | PASSED | |
+| `src/test/groovy/grails/gorm/specs/autoimport/AutoImportSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/UniqueWithMultipleDataSourcesSpec.groovy` 
| PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/SaveWithExistingValidationErrorSpec.groovy` 
| PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/multitenancy/MultiTenancyBidirectionalManyToManySpec.groovy`
 | FAILED | Found two representations of same collection. |
+| 
`src/test/groovy/grails/gorm/specs/multitenancy/MultiTenancyUnidirectionalOneToManySpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/inheritance/SubclassToOneProxySpec.groovy` | 
PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/inheritance/TablePerConcreteClassImportedSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/inheritance/TablePerConcreteClassAndDateCreatedSpec.groovy`
 | FAILED | NPE in Hibernate 7 IncrementGenerator. |
+| `src/test/groovy/grails/gorm/specs/MultiColumnUniqueConstraintSpec.groovy` | 
PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/dirtychecking/HibernateDirtyCheckingSpec.groovy`
 | FAILED | Dirty checking issues in Hibernate 7. |
+| 
`src/test/groovy/grails/gorm/specs/dirtychecking/HibernateUpdateFromListenerSpec.groovy`
 | FAILED | Dirty checking issues in Hibernate 7. |
+| `src/test/groovy/grails/gorm/specs/dirtychecking/PropertyFieldSpec.groovy` | 
FAILED | Dirty checking issues in Hibernate 7. |
+| `src/test/groovy/grails/gorm/specs/NullableAndLengthSpec.groovy` | FAILED | 
Mapping/Constraint issues. |
+| `src/test/groovy/grails/gorm/specs/HibernateEntityTraitGeneratedSpec.groovy` 
| PASSED | |
+| `src/test/groovy/grails/gorm/specs/ToOneProxySpec.groovy` | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/SubclassMultipleListCollectionSpec.groovy` | 
FAILED | SQL Syntax error: Qualified column names in DDL. |
+| `src/test/groovy/grails/gorm/specs/hibernatequery/HibernateQuerySpec.groovy` 
| PASSED | |
+| `src/test/groovy/grails/gorm/specs/softdelete/SoftDeleteSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/AutoTimestampSpec.groovy` | PASSED | |
+| `src/test/groovy/grails/gorm/specs/RLikeSpec.groovy` | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/events/UpdatePropertyInEventListenerSpec.groovy`
 | PASSED | |
+| `src/test/groovy/grails/gorm/specs/DeleteAllWhereSpec.groovy` | PASSED | |
+| `src/test/groovy/grails/gorm/specs/CountByWithEmbeddedSpec.groovy` | PASSED 
| |
+| `src/test/groovy/grails/gorm/specs/DomainGetterSpec.groovy` | PASSED | |
+| `src/test/groovy/grails/gorm/specs/SequenceIdSpec.groovy` | PASSED | |
+| `src/test/groovy/grails/gorm/specs/perf/JoinPerfSpec.groovy` | FAILED | 
Unique constraint violation. |
+| `src/test/groovy/grails/gorm/specs/uuid/UuidInsertSpec.groovy` | FAILED | 
Logic error: name mismatch after insert/update. |
+| `src/test/groovy/grails/gorm/specs/ReadOperationSpec.groovy` | PASSED | |
+| `src/test/groovy/grails/gorm/specs/ManyToOneSpec.groovy` | PASSED | |
+| `src/test/groovy/grails/gorm/specs/services/DataServiceSpec.groovy` | PASSED 
| |
+| `src/test/groovy/grails/gorm/specs/validation/BeanValidationSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/validation/SkipValidationSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/validation/CascadeValidationSpec.groovy` 
| FAILED | SQL Syntax error: Qualified column names in DDL. |
+| 
`src/test/groovy/grails/gorm/specs/validation/SaveWithInvalidEntitySpec.groovy` 
| FAILED | Hibernate 7 change: got EntityActionVetoException instead of 
IllegalStateException. |
+| 
`src/test/groovy/grails/gorm/specs/validation/UniqueFalseConstraintSpec.groovy` 
| PASSED | |
+| `src/test/groovy/grails/gorm/specs/validation/DeepValidationSpec.groovy` | 
FAILED | SQL Syntax error: Qualified column names in DDL. |
+| `src/test/groovy/grails/gorm/specs/validation/UniqueWithHasOneSpec.groovy` | 
PASSED | |
+| `src/test/groovy/grails/gorm/specs/validation/UniqueWithinGroupSpec.groovy` 
| PASSED | |
+| `src/test/groovy/grails/gorm/specs/validation/UniqueInheritanceSpec.groovy` 
| PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/validation/EmbeddedWithValidationExceptionSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/compositeid/CompositeIdWithDeepOneToManyMappingSpec.groovy`
 | PASSED | |
+| 
`src/test/groovy/grails/gorm/specs/compositeid/GlobalConstraintWithCompositeIdSpec.groovy`
 | PASSED | |
+| `src/test/groovy/grails/gorm/specs/NullValueEqualSpec.groovy` | PASSED | |
+| 
`src/test/groovy/grails/gorm/hibernate/mapping/HibernateOptimisticLockingStyleMappingSpec.groovy`
 | PASSED | |
+| `src/test/groovy/grails/gorm/hibernate/mapping/MappingBuilderSpec.groovy` | 
PASSED | |
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/ExecuteQueryWithinValidatorSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/ExecuteQueryWithinValidatorSpec.groovy
index bf55a9efa4..ccd8f2e4ff 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/ExecuteQueryWithinValidatorSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/ExecuteQueryWithinValidatorSpec.groovy
@@ -58,7 +58,7 @@ class Named {
 
     static constraints = {
         nameType (validator: { val, obj, errors ->
-            if (val !=null) {
+            if (val !=null && val.nameType != null) {
                 def parms = [nameType: val.nameType.trim().toLowerCase() ]
                 def rows = NameType.executeQuery("""select nameType from 
NameType where lower(nameType) = :nameType""", parms,[:])
 
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/HibernateGormDatastoreSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/HibernateGormDatastoreSpec.groovy
index 83580761e2..96eab6118f 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/HibernateGormDatastoreSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/HibernateGormDatastoreSpec.groovy
@@ -20,6 +20,7 @@ import 
org.hibernate.boot.registry.classloading.spi.ClassLoaderService
 import org.hibernate.dialect.H2Dialect
 import org.hibernate.internal.SessionFactoryImpl
 import org.hibernate.service.spi.ServiceRegistryImplementor
+import org.hibernate.boot.spi.AdditionalMappingContributor
 
 /**
  * The original GormDataStoreSpec destroyed the setup
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnBinderSpec.groovy
index 248c8c92b6..053974f6c1 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnBinderSpec.groovy
@@ -40,7 +40,7 @@ class ColumnBinderSpec extends Specification {
         def prop = Mock(ManyToMany)
         def owner = Mock(PersistentEntity)
         def mappedForm = Mock(PropertyConfig)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         // stubs
@@ -94,7 +94,7 @@ class ColumnBinderSpec extends Specification {
         def owner = Mock(PersistentEntity)
         def mapping = Mock(Mapping)
         def propertyConfig = Mock(PropertyConfig)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
         def cc = new ColumnConfig(comment: "cmt", defaultValue: "def", read: 
"r", write: "w")
 
@@ -215,7 +215,7 @@ class ColumnBinderSpec extends Specification {
         def prop = Mock(PersistentProperty)
         def owner = Mock(PersistentEntity)
         def propertyConfig = Mock(PropertyConfig)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -268,7 +268,7 @@ class ColumnBinderSpec extends Specification {
         def inverse = 
Mock(org.grails.datastore.mapping.model.types.Association)
         def owner = Mock(PersistentEntity)
         def mappedForm = Mock(PropertyConfig)
-        def column = new Column() // name is null so binder should set it
+        def column = new Column("test") // name is null so binder should set it
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -323,7 +323,7 @@ class ColumnBinderSpec extends Specification {
         def prop = Mock(org.grails.datastore.mapping.model.types.ToOne)
         def owner = Mock(PersistentEntity)
         def mappedForm = Mock(PropertyConfig)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -375,7 +375,7 @@ class ColumnBinderSpec extends Specification {
         def prop = Mock(org.grails.datastore.mapping.model.types.Association)
         def owner = Mock(PersistentEntity)
         def mappedForm = Mock(PropertyConfig)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -429,7 +429,7 @@ class ColumnBinderSpec extends Specification {
         def parentProp = Mock(PersistentProperty)
         def owner = Mock(PersistentEntity)
         def propertyConfig = Mock(PropertyConfig)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -482,7 +482,7 @@ class ColumnBinderSpec extends Specification {
         def parentProp = Mock(PersistentProperty)
         def owner = Mock(PersistentEntity)
         def propertyConfig = Mock(PropertyConfig)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -533,7 +533,7 @@ class ColumnBinderSpec extends Specification {
         def parentProp = Mock(PersistentProperty)
         def owner = Mock(PersistentEntity)
         def propertyConfig = Mock(PropertyConfig)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -582,7 +582,7 @@ class ColumnBinderSpec extends Specification {
 
         def prop = Mock(PersistentProperty)
         def owner = Mock(PersistentEntity)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -631,7 +631,7 @@ class ColumnBinderSpec extends Specification {
 
         def prop = Mock(PersistentProperty)
         def owner = Mock(PersistentEntity)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -644,7 +644,7 @@ class ColumnBinderSpec extends Specification {
 
         when:
         // Unique true, withinGroup true => unique false
-        def column2 = new Column()
+        def column2 = new Column("test2")
         def pc2 = Mock(PropertyConfig)
         propToConfig.toPropertyConfig(prop) >> pc2
         pc2.isUnique() >> true
@@ -682,7 +682,7 @@ class ColumnBinderSpec extends Specification {
 
         def prop = Mock(PersistentProperty)
         def owner = Mock(PersistentEntity)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -695,7 +695,7 @@ class ColumnBinderSpec extends Specification {
 
         when:
         // Unique false => unique false
-        def column3 = new Column()
+        def column3 = new Column("test3")
         def pc3 = Mock(PropertyConfig)
         propToConfig.toPropertyConfig(prop) >>> [pc3, pc3]
         pc3.isUnique() >> false
@@ -734,7 +734,7 @@ class ColumnBinderSpec extends Specification {
         def owner = Mock(PersistentEntity)
         def mapping = Mock(Mapping)
         def propertyConfig = Mock(PropertyConfig)
-        def column = new Column()
+        def column = new Column("test")
         def table = new Table()
 
         userTypeFetcher.getUserType(prop) >> null
@@ -758,4 +758,4 @@ class ColumnBinderSpec extends Specification {
         1 * keyCreator.createKeyForProps(prop, null, table, "sub_col")
         1 * indexBinder.bindIndex("sub_col", column, null, table)
     }
-}
+}
\ No newline at end of file
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnConfigToColumnBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnConfigToColumnBinderSpec.groovy
index 0df0939a41..7babe4c636 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnConfigToColumnBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ColumnConfigToColumnBinderSpec.groovy
@@ -8,7 +8,7 @@ import spock.lang.Specification
 class ColumnConfigToColumnBinderSpec extends Specification {
 
     def binder = new ColumnConfigToColumnBinder()
-    def column = Mock(Column)
+    def column = Mock(Column, name: "test")
 
     def "should bind column properties when values are valid"() {
         given:
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IndexBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IndexBinderSpec.groovy
index fe16ebb41c..492b93889d 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IndexBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IndexBinderSpec.groovy
@@ -10,7 +10,7 @@ class IndexBinderSpec extends Specification {
 
     def indexBinder = new IndexBinder()
     def table = Mock(Table)
-    def column = Mock(Column)
+    def column = Mock(Column, name: "test_column")
     def index = Mock(Index)
 
 
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ManyToOneBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ManyToOneBinderSpec.groovy
index dffacf20f6..714692ab07 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ManyToOneBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ManyToOneBinderSpec.groovy
@@ -121,7 +121,7 @@ class ManyToOneBinderSpec extends Specification {
         def refDomainClass = Mock(PersistentEntity)
         def mapping = Mock(Mapping)
         def propertyConfig = Mock(PropertyConfig)
-        def column = Mock(Column)
+        def column = Mock(Column, name: 'test')
         def inverseSide = Mock(Association)
 
         property.getAssociatedEntity() >> refDomainClass
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NaturalIdentifierBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NaturalIdentifierBinderSpec.groovy
index 044d5ca043..588fa28c84 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NaturalIdentifierBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NaturalIdentifierBinderSpec.groovy
@@ -57,10 +57,10 @@ class NaturalIdentifierBinderSpec extends Specification {
         def naturalId = Mock(NaturalId)
         def property1 = Mock(Property)
         def value1 = Mock(Value)
-        def column1 = Mock(Column)
+        def column1 = Mock(Column, name: 'id1')
         def property2 = Mock(Property)
         def value2 = Mock(Value)
-        def column2 = Mock(Column)
+        def column2 = Mock(Column, name: 'id2')
         Table table = Mock(Table)
 
         mapping.getIdentity() >> identity
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NumericColumnConstraintsBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NumericColumnConstraintsBinderSpec.groovy
index 551eb2da1f..94115936d3 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NumericColumnConstraintsBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NumericColumnConstraintsBinderSpec.groovy
@@ -17,7 +17,7 @@ class NumericColumnConstraintsBinderSpec extends 
Specification {
 
     void "should use scale and precision from ColumnConfig when provided"() {
         given: "A column config with explicit scale and precision"
-        def column = Mock(Column)
+        def column = Mock(Column, name: 'test')
         def property = Mock(PersistentProperty)
         def columnConfig = new ColumnConfig(scale: 4, precision: 12)
 
@@ -32,7 +32,7 @@ class NumericColumnConstraintsBinderSpec extends 
Specification {
 
     void "should use scale from PropertyConfig when ColumnConfig is not 
provided"() {
         given: "A property config with a scale constraint"
-        def column = Mock(Column)
+        def column = Mock(Column, name: 'test')
         def propertyConfig = Mock(PropertyConfig)
         propertyConfig.getScale() >> 3
 
@@ -46,7 +46,7 @@ class NumericColumnConstraintsBinderSpec extends 
Specification {
     @Unroll
     void "should calculate precision based on min=#minVal, max=#maxVal, and 
scale=#scale"() {
         given: "A property config with various min/max/scale constraints"
-        def column = Mock(Column)
+        def column = Mock(Column, name: 'test')
         def propertyConfig = Mock(PropertyConfig)
 
         propertyConfig.getScale() >> scale
@@ -90,7 +90,7 @@ class NumericColumnConstraintsBinderSpec extends 
Specification {
 
     void "should use default precision and scale when no constraints are 
provided"() {
         given: "A property config with no relevant constraints"
-        def column = Mock(Column)
+        def column = Mock(Column, name: 'test')
         def propertyConfig = Mock(PropertyConfig)
         def defaultPrecision = 
org.hibernate.engine.jdbc.Size.DEFAULT_PRECISION // 19
         def defaultScale = org.hibernate.engine.jdbc.Size.DEFAULT_SCALE // 0
@@ -111,4 +111,4 @@ class NumericColumnConstraintsBinderSpec extends 
Specification {
         // The code only calls setScale if a constraint is found.
         0 * column.setScale(_)
     }
-}
\ No newline at end of file
+}
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueBinderSpec.groovy
index 3774d34b30..6f407dc2ed 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueBinderSpec.groovy
@@ -54,8 +54,14 @@ class SimpleValueBinderSpec extends Specification {
         then:
         1 * sv.setTypeName("custom.Type")
         1 * sv.setTypeParameters({ it.getProperty('p1') == 'v1' })
-        1 * columnBinder.bindColumn(prop, null, _ as Column, null, 'p', null)
-        1 * columnConfigToColumnBinder.bindColumnConfigToColumn(_ as Column, 
null, pc)
+        1 * columnBinder.bindColumn(prop, null, _, null, 'p', null) >> { args 
->
+            def column = args[2] as Column
+            column.setName("testColumn")
+        }
+        1 * columnConfigToColumnBinder.bindColumnConfigToColumn(_, null, pc) 
>> { args ->
+            def column = args[0] as Column
+            column.setName("testColumn")
+        }
     }
 
     def "falls back to property type when provider returns null"() {
@@ -81,7 +87,10 @@ class SimpleValueBinderSpec extends Specification {
 
         then:
         1 * sv.setTypeName(Integer.name)
-        1 * columnBinder.bindColumn(prop, null, _ as Column, null, null, null)
+        1 * columnBinder.bindColumn(prop, null, _, null, null, null) >> { args 
->
+            def column = args[2] as Column
+            column.setName("testColumn")
+        }
     }
 
     def "derived property adds no columns but adds formula, except TenantId"() 
{
@@ -119,7 +128,10 @@ class SimpleValueBinderSpec extends Specification {
 
         then:
         0 * sv2.addFormula(_)
-        1 * columnBinder.bindColumn(_, _, _ as Column, _, _, _)
+        1 * columnBinder.bindColumn(_, _, _, _, _, _) >> { args ->
+            def column = args[2] as Column
+            column.setName("testColumn")
+        }
     }
 
     def "applies generator and maps sequence param to 
SequenceStyleGenerator.SEQUENCE_PARAM"() {
@@ -174,10 +186,22 @@ class SimpleValueBinderSpec extends Specification {
         binder.bindSimpleValue(prop, parent, sv, 'path')
 
         then:
-        1 * columnConfigToColumnBinder.bindColumnConfigToColumn(_ as Column, 
cc1, pc)
-        1 * columnConfigToColumnBinder.bindColumnConfigToColumn(_ as Column, 
cc2, pc)
-        1 * columnBinder.bindColumn(prop, parent, _ as Column, cc1, 'path', 
null)
-        1 * columnBinder.bindColumn(prop, parent, _ as Column, cc2, 'path', 
null)
+        1 * columnConfigToColumnBinder.bindColumnConfigToColumn(_, cc1, pc) >> 
{ args ->
+            def column = args[0] as Column
+            column.setName("testColumn")
+        }
+        1 * columnConfigToColumnBinder.bindColumnConfigToColumn(_, cc2, pc) >> 
{ args ->
+            def column = args[0] as Column
+            column.setName("testColumn")
+        }
+        1 * columnBinder.bindColumn(prop, parent, _, cc1, 'path', null) >> { 
args ->
+            def column = args[2] as Column
+            column.setName("testColumn")
+        }
+        1 * columnBinder.bindColumn(prop, parent, _, cc2, 'path', null) >> { 
args ->
+            def column = args[2] as Column
+            column.setName("testColumn")
+        }
         2 * sv.addColumn(_ as Column)
     }
 }
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/StringColumnConstraintsBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/StringColumnConstraintsBinderSpec.groovy
index 45877c9cc1..1d06e1e605 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/StringColumnConstraintsBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/StringColumnConstraintsBinderSpec.groovy
@@ -12,7 +12,7 @@ class StringColumnConstraintsBinderSpec extends Specification 
{
 
     def setup() {
         binder = new StringColumnConstraintsBinder()
-        column = Mock(Column)
+        column = Mock(Column, name: "test")
         mappedForm = Mock(Property)
     }
 
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/UniqueNameGeneratorSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/UniqueNameGeneratorSpec.groovy
index 45ba1572fa..143c278122 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/UniqueNameGeneratorSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/UniqueNameGeneratorSpec.groovy
@@ -20,8 +20,8 @@ class UniqueNameGeneratorSpec extends Specification {
     def "should generate a unique name based on table and column names and 
truncate it"() {
         given: "A unique key with a table and several columns"
         def table = Mock(Table)
-        def column1 = Mock(Column)
-        def column2 = Mock(Column)
+        def column1 = Mock(Column, name: 'first_name')
+        def column2 = Mock(Column, name: 'last_name')
         def uniqueKey = Mock(UniqueKey)
 
         table.getName() >> "person"
@@ -44,7 +44,7 @@ class UniqueNameGeneratorSpec extends Specification {
     def "should not truncate a generated name that is 30 characters or less"() 
{
         given: "A unique key whose hash results in a short name"
         def table = Mock(Table)
-        def column = Mock(Column)
+        def column = Mock(Column, name: 'short_col')
         def uniqueKey = Mock(UniqueKey)
 
         table.getName() >> "short_table"
@@ -99,9 +99,9 @@ class UniqueNameGeneratorSpec extends Specification {
     def "should filter out columns with blank or null names"() {
         given: "A unique key with valid, blank, and null column names"
         def table = Mock(Table)
-        def column1 = Mock(Column)
-        def column2 = Mock(Column)
-        def column3 = Mock(Column)
+        def column1 = Mock(Column, name: 'sku')
+        def column2 = Mock(Column, name: '')
+        def column3 = Mock(Column, name: null)
         def uniqueKey = Mock(UniqueKey)
 
         table.getName() >> "product"
diff --git a/grails-data-test-report/build.gradle 
b/grails-data-test-report/build.gradle
index c7df3e72a9..0383526f6a 100644
--- a/grails-data-test-report/build.gradle
+++ b/grails-data-test-report/build.gradle
@@ -31,6 +31,7 @@ dependencies {
     testReportAggregation project(':grails-datamapping-core-test')
     testReportAggregation project(':grails-datamapping-validation')
     testReportAggregation project(':grails-datastore-web')
+    testReportAggregation project(':grails-data-hibernate7-core')
 }
 
 tasks.named('check') {


Reply via email to