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 72c693743e504db196e2f36a3cd276726347c1f0
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Sun Feb 15 13:23:52 2026 -0600

    Encapsulate table abstractness logic in GrailsHibernatePersistentEntity
    
    - Add isTablePerConcreteClass() and isTableAbstract() to 
GrailsHibernatePersistentEntity.
    - Update GrailsDomainBinder.bindRoot to use domainClass.isTableAbstract().
---
 .../groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java  | 4 +---
 .../orm/hibernate/cfg/GrailsHibernatePersistentEntity.java       | 9 +++++++++
 2 files changed, 10 insertions(+), 3 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 e10a69e3a8..11358ac2fc 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
@@ -459,14 +459,12 @@ public class GrailsDomainBinder
         var catalog = domainClass.getCatalog(mappings);
 
 
-        var isAbstract = !gormMapping.getTablePerHierarchy() && 
gormMapping.isTablePerConcreteClass() && root.isAbstract();
-
         // create the table
         var table = mappings.addTable(schema
                 , catalog
                 , new 
TableNameFetcher(getNamingStrategy()).getTableName(domainClass)
                 , null
-                , isAbstract
+                , domainClass.isTableAbstract()
                 , metadataBuildingContext
         );
         root.setTable(table);
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentEntity.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentEntity.java
index d27f5aa8c0..9ad18b2ba9 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentEntity.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentEntity.java
@@ -40,6 +40,15 @@ package org.grails.orm.hibernate.cfg;
          Mapping mapping = getMappedForm();
          return mapping == null || mapping.getTablePerHierarchy();
      }
+ 
+     default boolean isTablePerConcreteClass() {
+         Mapping mapping = getMappedForm();
+         return mapping != null && mapping.isTablePerConcreteClass();
+     }
+
+     default boolean isTableAbstract() {
+         return !isTablePerHierarchy() && isTablePerConcreteClass() && 
isAbstract();
+     }
 
      default boolean isTablePerHierarchySubclass() {
          Mapping rootMapping = getRootMapping();

Reply via email to