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();
