You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by bo...@apache.org on 2025/07/10 03:01:55 UTC
(grails-core) 17/22: mino refactoring
This is an automated email from the ASF dual-hosted git repository.
borinquenkid pushed a commit to branch merge-hibernate6
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 8871de2c658404b7605bb6fd53fdb4ffc7e5ca0a
Author: Walter Duque de Estrada <wb...@mac.com>
AuthorDate: Sat Jul 5 21:37:58 2025 -0500
mino refactoring
---
.../grails/orm/hibernate/cfg/GrailsDomainBinder.java | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java b/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
index df28d6aad7..d2b012aef8 100644
--- a/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
+++ b/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
@@ -65,6 +65,7 @@ import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import static java.util.Optional.ofNullable;
/**
* Handles the binding Grails domain classes and properties to the Hibernate runtime meta model.
@@ -1376,24 +1377,19 @@ public class GrailsDomainBinder implements MetadataContributor {
LOG.info("[GrailsDomainBinder] Class [" + entity.getName() + "] is already mapped, skipping.. ");
return;
}
-
RootClass root = new RootClass(this.metadataBuildingContext);
root.setAbstract(entity.isAbstract());
- final MappingContext mappingContext = entity.getMappingContext();
-
+ bindClass(entity, root, mappings);
+ bindRootPersistentClassCommonValues(entity, root, mappings, sessionFactoryBeanName);
+ var children = entity.getMappingContext()
+ .getDirectChildEntities(entity);
- final java.util.Collection<PersistentEntity> children = mappingContext.getDirectChildEntities(entity);
if (children.isEmpty()) {
root.setPolymorphic(false);
- }
- bindClass(entity, root, mappings);
-
- Mapping m = getMapping(entity);
-
- bindRootPersistentClassCommonValues(entity, root, mappings, sessionFactoryBeanName);
-
- if (!children.isEmpty()) {
+ } else {
+ root.setPolymorphic(true);
+ Mapping m = getMapping(entity);
boolean tablePerSubclass = m != null && !m.getTablePerHierarchy();
if (!tablePerSubclass) {
// if the root class has children create a discriminator property