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 2026/03/05 18:31:25 UTC
(grails-core) 20/27: cleanup(hibernate7): Make SimpleValueBinder.bindSimpleValue return SimpleValue
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 e639f023f123447ec399b21b49c2b00a11a01ff2
Author: Walter Duque de Estrada <wb...@mac.com>
AuthorDate: Wed Mar 4 19:09:59 2026 -0600
cleanup(hibernate7): Make SimpleValueBinder.bindSimpleValue return SimpleValue
---
.../cfg/domainbinding/binder/CollectionBinder.java | 3 +--
.../cfg/domainbinding/binder/ComponentUpdater.java | 2 --
.../binder/CompositeIdentifierToManyToOneBinder.java | 2 +-
.../cfg/domainbinding/binder/GrailsDomainBinder.java | 4 +---
.../domainbinding/binder/GrailsPropertyBinder.java | 2 +-
.../cfg/domainbinding/binder/IdentityBinder.java | 3 +--
.../domainbinding/binder/JoinedSubClassBinder.java | 7 +++----
.../domainbinding/binder/ManyToOneValuesBinder.java | 2 +-
.../cfg/domainbinding/binder/RootBinder.java | 2 +-
.../RootPersistentClassCommonValuesBinder.java | 7 +++----
.../cfg/domainbinding/binder/SimpleValueBinder.java | 18 +++++-------------
.../binder/SingleTableSubclassBinder.java | 8 +++-----
.../cfg/domainbinding/binder/SubClassBinder.java | 1 -
.../domainbinding/binder/SubclassMappingBinder.java | 2 +-
.../cfg/domainbinding/binder/VersionBinder.java | 12 ------------
.../hibernate/HibernatePersistentEntity.java | 20 +++++++-------------
.../cfg/domainbinding/IdentityBinderSpec.groovy | 12 ++++++------
.../cfg/domainbinding/binder/RootBinderSpec.groovy | 4 ++--
.../RootPersistentClassCommonValuesBinderSpec.groovy | 4 ++--
.../binder/SingleTableSubclassBinderSpec.groovy | 2 +-
.../binder/SubclassMappingBinderSpec.groovy | 7 ++-----
21 files changed, 42 insertions(+), 82 deletions(-)
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
index 114e01ec05..a0cc85e653 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
@@ -59,8 +59,7 @@ import org.hibernate.mapping.Collection;
import org.hibernate.mapping.OneToMany;
import org.hibernate.mapping.PersistentClass;
import org.hibernate.mapping.Table;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+
/** Handles the binding of collections to the Hibernate runtime meta model. */
@SuppressWarnings("PMD.DataflowAnomalyAnalysis")
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentUpdater.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentUpdater.java
index 996f8640a3..f480774f14 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentUpdater.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ComponentUpdater.java
@@ -18,8 +18,6 @@
*/
package org.grails.orm.hibernate.cfg.domainbinding.binder;
-import java.util.Iterator;
-import org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty;
import org.grails.orm.hibernate.cfg.domainbinding.util.PropertyFromValueCreator;
import org.hibernate.mapping.Column;
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CompositeIdentifierToManyToOneBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CompositeIdentifierToManyToOneBinder.java
index 785403f21d..0d115077b3 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CompositeIdentifierToManyToOneBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CompositeIdentifierToManyToOneBinder.java
@@ -138,6 +138,6 @@ public class CompositeIdentifierToManyToOneBinder {
}
private String join(String... parts) {
- return Arrays.stream(parts).map(backticksRemover::apply).collect(Collectors.joining(String.valueOf(UNDERSCORE)));
+ return Arrays.stream(parts).map(backticksRemover).collect(Collectors.joining(String.valueOf(UNDERSCORE)));
}
}
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsDomainBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsDomainBinder.java
index 2e00e23af4..3fb45b072f 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsDomainBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsDomainBinder.java
@@ -58,7 +58,6 @@ import org.slf4j.LoggerFactory;
public class GrailsDomainBinder implements AdditionalMappingContributor, TypeContributor {
public static final String FOREIGN_KEY_SUFFIX = "_id";
- private static final String STRING_TYPE = "string";
public static final String EMPTY_PATH = "";
public static final char UNDERSCORE = '_';
@@ -245,8 +244,7 @@ public class GrailsDomainBinder implements AdditionalMappingContributor, TypeCon
hibernateMappingContext.getHibernatePersistentEntities(dataSourceName).stream()
.filter(persistentEntity -> persistentEntity.forGrailsDomainMapping(dataSourceName))
.forEach(
- hibernatePersistentEntity ->
- rootBinder.bindRoot(hibernatePersistentEntity));
+ rootBinder::bindRoot);
}
/**
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 19f1ea72af..e9d32d668b 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
@@ -76,7 +76,7 @@ public class GrailsPropertyBinder {
+ "]");
}
- Value value = null;
+ Value value;
// 1. Create Value and apply binders (consolidated block)
if (currentGrailsProp instanceof HibernateEnumProperty) {
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/IdentityBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/IdentityBinder.java
index fd06e02768..90e987e1db 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/IdentityBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/IdentityBinder.java
@@ -24,7 +24,7 @@ import org.grails.orm.hibernate.cfg.Identity;
import org.grails.orm.hibernate.cfg.Mapping;
import org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateIdentity;
-import org.hibernate.boot.spi.InFlightMetadataCollector;
+
import org.hibernate.mapping.RootClass;
public class IdentityBinder {
@@ -40,7 +40,6 @@ public class IdentityBinder {
public void bindIdentity(
@Nonnull GrailsHibernatePersistentEntity domainClass,
RootClass root,
- @Nonnull InFlightMetadataCollector mappings,
Mapping gormMapping) {
HibernateIdentity id = gormMapping != null ? gormMapping.getIdentity() : null;
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/JoinedSubClassBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/JoinedSubClassBinder.java
index 35830aac15..2f5fdaa73c 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/JoinedSubClassBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/JoinedSubClassBinder.java
@@ -82,7 +82,7 @@ public class JoinedSubClassBinder {
mappings.addTable(
schemaName,
catalogName,
- getJoinedSubClassTableName(sub, joinedSubclass, null),
+ getJoinedSubClassTableName(sub, joinedSubclass),
null,
false,
metadataBuildingContext);
@@ -111,8 +111,7 @@ public class JoinedSubClassBinder {
private String getJoinedSubClassTableName(
GrailsHibernatePersistentEntity sub,
- PersistentClass model,
- Table denormalizedSuperTable) {
+ PersistentClass model) {
String logicalTableName = GrailsHibernateUtil.unqualify(model.getEntityName());
String physicalTableName = sub.getTableName(namingStrategy);
@@ -121,7 +120,7 @@ public class JoinedSubClassBinder {
String catalogName = sub.getCatalog(mappings);
mappings.addTableNameBinding(
- schemaName, catalogName, logicalTableName, physicalTableName, denormalizedSuperTable);
+ schemaName, catalogName, logicalTableName, physicalTableName, null);
return physicalTableName;
}
}
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ManyToOneValuesBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ManyToOneValuesBinder.java
index a37002ecfc..255af28272 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ManyToOneValuesBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ManyToOneValuesBinder.java
@@ -34,7 +34,7 @@ public class ManyToOneValuesBinder {
var fetchMode = Optional.ofNullable(config.getFetchMode()).orElse(FetchMode.DEFAULT);
manyToOne.setFetchMode(fetchMode);
- var lazy = Optional.ofNullable(config.getLazy()).orElse(property != null);
+ var lazy = Optional.ofNullable(config.getLazy()).orElse(true);
manyToOne.setLazy(lazy);
manyToOne.setIgnoreNotFound(config.getIgnoreNotFound());
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinder.java
index 2f52401cc7..5fd2a224f5 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinder.java
@@ -71,7 +71,7 @@ public class RootBinder {
Collection<GrailsHibernatePersistentEntity> children = entity.getChildEntities(dataSourceName);
RootClass root =
rootPersistentClassCommonValuesBinder.bindRootPersistentClassCommonValues(
- entity, children);
+ entity);
if (!children.isEmpty() && entity.isTablePerHierarchy()) {
discriminatorPropertyBinder.bindDiscriminatorProperty(root);
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinder.java
index 1b8efc451d..781a7ade71 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinder.java
@@ -21,7 +21,7 @@ package org.grails.orm.hibernate.cfg.domainbinding.binder;
import static java.util.Optional.ofNullable;
import jakarta.annotation.Nonnull;
-import java.util.Collection;
+
import org.grails.orm.hibernate.cfg.CacheConfig;
import org.grails.orm.hibernate.cfg.Mapping;
import org.grails.orm.hibernate.cfg.PersistentEntityNamingStrategy;
@@ -62,8 +62,7 @@ public class RootPersistentClassCommonValuesBinder {
}
public RootClass bindRootPersistentClassCommonValues(
- @Nonnull GrailsHibernatePersistentEntity domainClass,
- @Nonnull Collection<GrailsHibernatePersistentEntity> children) {
+ @Nonnull GrailsHibernatePersistentEntity domainClass) {
RootClass root = new RootClass(this.metadataBuildingContext);
root.setAbstract(domainClass.isAbstract());
@@ -108,7 +107,7 @@ public class RootPersistentClassCommonValuesBinder {
+ root.getTable().getName());
}
- identityBinder.bindIdentity(domainClass, root, mappings, gormMapping);
+ identityBinder.bindIdentity(domainClass, root, gormMapping);
versionBinder.bindVersion(domainClass.getVersion(), root);
root.createPrimaryKey();
classPropertiesBinder.bindClassProperties(domainClass, root);
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SimpleValueBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SimpleValueBinder.java
index 161ac76f3d..f4e303606e 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SimpleValueBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SimpleValueBinder.java
@@ -24,7 +24,6 @@ import org.grails.orm.hibernate.cfg.ColumnConfig;
import org.grails.orm.hibernate.cfg.PersistentEntityNamingStrategy;
import org.grails.orm.hibernate.cfg.PropertyConfig;
import org.grails.orm.hibernate.cfg.domainbinding.generator.GrailsSequenceWrapper;
-import org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty;
import org.hibernate.boot.spi.MetadataBuildingContext;
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
@@ -76,15 +75,7 @@ public class SimpleValueBinder {
new GrailsSequenceWrapper());
}
- /** Protected constructor for testing purposes. */
- protected SimpleValueBinder() {
- this.metadataBuildingContext = null;
- this.namingStrategy = null;
- this.columnConfigToColumnBinder = null;
- this.columnBinder = null;
- this.jdbcEnvironment = null;
- this.grailsSequenceWrapper = null;
- }
+
public BasicValue bindSimpleValue(
@jakarta.annotation.Nonnull HibernatePersistentProperty property,
@@ -92,11 +83,11 @@ public class SimpleValueBinder {
Table table,
String path) {
BasicValue basicValue = new BasicValue(metadataBuildingContext, table);
- bindSimpleValue(property, parentProperty, (SimpleValue) basicValue, path);
+ bindSimpleValue(property, parentProperty, basicValue, path);
return basicValue;
}
- public void bindSimpleValue(
+ public SimpleValue bindSimpleValue(
@jakarta.annotation.Nonnull HibernatePersistentProperty property,
HibernatePersistentProperty parentProperty,
SimpleValue simpleValue,
@@ -143,6 +134,7 @@ public class SimpleValueBinder {
simpleValue.addColumn(column);
});
}
+ return simpleValue;
}
private Generator createGenerator(
@@ -153,7 +145,7 @@ public class SimpleValueBinder {
generatorName,
context,
null,
- (GrailsHibernatePersistentEntity) property.getHibernateOwner(),
+ property.getHibernateOwner(),
jdbcEnvironment,
namingStrategy);
}
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SingleTableSubclassBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SingleTableSubclassBinder.java
index 574d99b87f..67b8866d6c 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SingleTableSubclassBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SingleTableSubclassBinder.java
@@ -20,7 +20,7 @@ package org.grails.orm.hibernate.cfg.domainbinding.binder;
import jakarta.annotation.Nonnull;
import org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
-import org.hibernate.boot.spi.InFlightMetadataCollector;
+
import org.hibernate.mapping.SingleTableSubclass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,14 +43,12 @@ public class SingleTableSubclassBinder {
/**
* Binds a sub-class using table-per-hierarchy inheritance mapping
*
- * @param sub The Grails domain class instance representing the sub-class
+ * @param sub The Grails domain class instance representing the sub-class
* @param subClass The Hibernate SubClass instance
- * @param mappings The mappings instance
*/
public void bindSubClass(
@Nonnull GrailsHibernatePersistentEntity sub,
- SingleTableSubclass subClass,
- @Nonnull InFlightMetadataCollector mappings) {
+ SingleTableSubclass subClass) {
classBinder.bindClass(sub, subClass);
subClass.setDiscriminatorValue(sub.getDiscriminatorValue());
if (LOG.isDebugEnabled()) {
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubClassBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubClassBinder.java
index 2a5b3c1495..bddd67c6f2 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubClassBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubClassBinder.java
@@ -19,7 +19,6 @@
package org.grails.orm.hibernate.cfg.domainbinding.binder;
import jakarta.annotation.Nonnull;
-import java.util.Collection;
import org.grails.orm.hibernate.cfg.MappingCacheHolder;
import org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
import org.grails.orm.hibernate.cfg.domainbinding.util.MultiTenantFilterBinder;
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinder.java
index 4ec70d17d8..0a2198460a 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinder.java
@@ -71,7 +71,7 @@ public class SubclassMappingBinder {
var singleTableSubclass = new SingleTableSubclass(parent, this.metadataBuildingContext);
- singleTableSubclassBinder.bindSubClass(subEntity, singleTableSubclass, mappings);
+ singleTableSubclassBinder.bindSubClass(subEntity, singleTableSubclass);
subClass = singleTableSubclass;
}
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/VersionBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/VersionBinder.java
index fc6455c721..8dbbb308eb 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/VersionBinder.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/VersionBinder.java
@@ -21,11 +21,9 @@ package org.grails.orm.hibernate.cfg.domainbinding.binder;
import static org.grails.orm.hibernate.cfg.domainbinding.binder.GrailsDomainBinder.EMPTY_PATH;
import java.util.function.BiFunction;
-import org.grails.orm.hibernate.cfg.PersistentEntityNamingStrategy;
import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty;
import org.hibernate.boot.spi.MetadataBuildingContext;
import org.hibernate.engine.OptimisticLockStyle;
-import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
import org.hibernate.mapping.BasicValue;
import org.hibernate.mapping.Property;
import org.hibernate.mapping.RootClass;
@@ -49,16 +47,6 @@ public class VersionBinder {
this.basicValueFactory = basicValueFactory;
}
- public VersionBinder(
- MetadataBuildingContext metadataBuildingContext,
- PersistentEntityNamingStrategy namingStrategy,
- JdbcEnvironment jdbcEnvironment) {
- this(
- metadataBuildingContext,
- new SimpleValueBinder(metadataBuildingContext, namingStrategy, jdbcEnvironment),
- new PropertyBinder(),
- BasicValue::new);
- }
public void bindVersion(HibernatePersistentProperty version, RootClass entity) {
diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernatePersistentEntity.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernatePersistentEntity.java
index d9bc160a16..b029e1d6ec 100644
--- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernatePersistentEntity.java
+++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernatePersistentEntity.java
@@ -19,6 +19,7 @@
package org.grails.orm.hibernate.cfg.domainbinding.hibernate;
import jakarta.persistence.Entity;
+import java.util.Arrays;
import java.util.Optional;
import org.grails.datastore.mapping.core.connections.ConnectionSourcesSupport;
import org.grails.datastore.mapping.model.*;
@@ -35,7 +36,7 @@ public class HibernatePersistentEntity extends AbstractPersistentEntity<Mapping>
private final AbstractClassMapping<Mapping> classMapping;
private String dataSourceName;
- public HibernatePersistentEntity(Class javaClass, final MappingContext context) {
+ public HibernatePersistentEntity(Class<?> javaClass, final MappingContext context) {
super(javaClass, context);
this.classMapping = new HibernateClassMapping(this, context);
@@ -51,10 +52,6 @@ public class HibernatePersistentEntity extends AbstractPersistentEntity<Mapping>
return dataSourceName;
}
- @Override
- protected boolean includeIdentifiers() {
- return true;
- }
@Override
public ClassMapping<Mapping> getMapping() {
@@ -73,16 +70,13 @@ public class HibernatePersistentEntity extends AbstractPersistentEntity<Mapping>
@Override
@SuppressWarnings({"PMD.DataflowAnomalyAnalysis", "PMD.NullAssignment"})
public HibernatePersistentProperty[] getCompositeIdentity() {
- PersistentProperty[] compositeIdentity = super.getCompositeIdentity();
+ PersistentProperty<?>[] compositeIdentity = super.getCompositeIdentity();
if (compositeIdentity == null) {
return new HibernatePersistentProperty[0];
}
- HibernatePersistentProperty[] result =
- new HibernatePersistentProperty[compositeIdentity.length];
- for (int i = 0; i < compositeIdentity.length; i++) {
- result[i] = compositeIdentity[i] instanceof HibernatePersistentProperty ghpp ? ghpp : null;
- }
- return result;
+ return Arrays.stream(compositeIdentity)
+ .map(p -> (HibernatePersistentProperty) p)
+ .toArray(HibernatePersistentProperty[]::new);
}
private boolean isAnnotatedEntity() {
@@ -99,6 +93,6 @@ public class HibernatePersistentEntity extends AbstractPersistentEntity<Mapping>
@Override
public HibernatePersistentProperty getVersion() {
- return version instanceof HibernatePersistentProperty ghpp ? ghpp : null;
+ return (HibernatePersistentProperty )version;
}
}
diff --git a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IdentityBinderSpec.groovy b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IdentityBinderSpec.groovy
index baff483d68..d7fa1be417 100644
--- a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IdentityBinderSpec.groovy
+++ b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/IdentityBinderSpec.groovy
@@ -37,7 +37,7 @@ class IdentityBinderSpec extends HibernateGormDatastoreSpec {
domainClass.getCompositeIdentity() >> null
when:
- binder.bindIdentity(domainClass, root, mappings, null)
+ binder.bindIdentity(domainClass, root, null)
then:
1 * simpleIdBinder.bindSimpleId(domainClass, root, null, _)
@@ -52,7 +52,7 @@ class IdentityBinderSpec extends HibernateGormDatastoreSpec {
domainClass.getCompositeIdentity() >> compositeProps
when:
- binder.bindIdentity(domainClass, root, mappings, null)
+ binder.bindIdentity(domainClass, root, null)
then:
1 * compositeIdBinder.bindCompositeId(domainClass, root, null)
@@ -68,7 +68,7 @@ class IdentityBinderSpec extends HibernateGormDatastoreSpec {
gormMapping.getIdentity() >> compositeIdentity
when:
- binder.bindIdentity(domainClass, root, mappings, gormMapping)
+ binder.bindIdentity(domainClass, root, gormMapping)
then:
1 * compositeIdBinder.bindCompositeId(domainClass, root, compositeIdentity)
@@ -88,7 +88,7 @@ class IdentityBinderSpec extends HibernateGormDatastoreSpec {
domainClass.getName() >> "MyEntity"
when:
- binder.bindIdentity(domainClass, root, mappings, gormMapping)
+ binder.bindIdentity(domainClass, root, gormMapping)
then:
1 * simpleIdBinder.bindSimpleId(domainClass, root, identity, _)
@@ -107,7 +107,7 @@ class IdentityBinderSpec extends HibernateGormDatastoreSpec {
domainClass.getName() >> "MyEntity"
when:
- binder.bindIdentity(domainClass, root, mappings, gormMapping)
+ binder.bindIdentity(domainClass, root, gormMapping)
then:
1 * simpleIdBinder.bindSimpleId(domainClass, root, identity, _)
@@ -127,7 +127,7 @@ class IdentityBinderSpec extends HibernateGormDatastoreSpec {
domainClass.getName() >> "MyEntity"
when:
- binder.bindIdentity(domainClass, root, mappings, gormMapping)
+ binder.bindIdentity(domainClass, root, gormMapping)
then:
identity.getName() == "MyEntity"
diff --git a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinderSpec.groovy b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinderSpec.groovy
index df21696b11..790546e79d 100644
--- a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinderSpec.groovy
+++ b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinderSpec.groovy
@@ -57,7 +57,7 @@ class RootBinderSpec extends HibernateGormDatastoreSpec {
binder.bindRoot(entity)
then:
- 1 * rootPersistentClassCommonValuesBinder.bindRootPersistentClassCommonValues(entity, []) >> rootClass
+ 1 * rootPersistentClassCommonValuesBinder.bindRootPersistentClassCommonValues(entity) >> rootClass
0 * discriminatorPropertyBinder.bindDiscriminatorProperty(_)
0 * subClassBinder.bindSubClass(_, _)
1 * multiTenantFilterBinder.bind(entity, rootClass)
@@ -84,7 +84,7 @@ class RootBinderSpec extends HibernateGormDatastoreSpec {
binder.bindRoot(entity)
then:
- 1 * rootPersistentClassCommonValuesBinder.bindRootPersistentClassCommonValues(entity, [childEntity]) >> rootClass
+ 1 * rootPersistentClassCommonValuesBinder.bindRootPersistentClassCommonValues(entity) >> rootClass
1 * discriminatorPropertyBinder.bindDiscriminatorProperty(rootClass)
1 * subClassBinder.bindSubClass(childEntity, rootClass)
1 * multiTenantFilterBinder.bind(entity, rootClass)
diff --git a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinderSpec.groovy b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinderSpec.groovy
index 49878ddaee..fbb838dbe5 100644
--- a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinderSpec.groovy
+++ b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinderSpec.groovy
@@ -53,7 +53,7 @@ class RootPersistentClassCommonValuesBinderSpec extends HibernateGormDatastoreSp
def mappings = getCollector()
when:
- RootClass rootClass = binder.bindRootPersistentClassCommonValues(entity, [])
+ RootClass rootClass = binder.bindRootPersistentClassCommonValues(entity)
then:
1 * classPropertiesBinder.bindClassProperties(entity, _)
@@ -69,7 +69,7 @@ class RootPersistentClassCommonValuesBinderSpec extends HibernateGormDatastoreSp
def mappings = getCollector()
when:
- RootClass rootClass = binder.bindRootPersistentClassCommonValues(entity, [])
+ RootClass rootClass = binder.bindRootPersistentClassCommonValues(entity)
then:
rootClass != null
diff --git a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SingleTableSubclassBinderSpec.groovy b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SingleTableSubclassBinderSpec.groovy
index ee4844fdf0..a3bcea9100 100644
--- a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SingleTableSubclassBinderSpec.groovy
+++ b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SingleTableSubclassBinderSpec.groovy
@@ -41,7 +41,7 @@ class SingleTableSubclassBinderSpec extends HibernateGormDatastoreSpec {
singleTableSubclass.setEntityName(SingleTableSubClassSub.name)
when:
- binder.bindSubClass(subEntity, singleTableSubclass, mappings)
+ binder.bindSubClass(subEntity, singleTableSubclass)
then:
singleTableSubclass.getTable() == rootTable
diff --git a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinderSpec.groovy b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinderSpec.groovy
index 55eb97790e..fa93644daf 100644
--- a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinderSpec.groovy
+++ b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinderSpec.groovy
@@ -2,16 +2,13 @@ package org.grails.orm.hibernate.cfg.domainbinding.binder
import grails.gorm.annotation.Entity
import grails.gorm.specs.HibernateGormDatastoreSpec
-import org.grails.orm.hibernate.cfg.Mapping
+
import org.hibernate.boot.spi.MetadataBuildingContext
import org.hibernate.mapping.JoinedSubclass
-import org.hibernate.mapping.PersistentClass
import org.hibernate.mapping.RootClass
import org.hibernate.mapping.SingleTableSubclass
import org.hibernate.mapping.Subclass
import org.hibernate.mapping.UnionSubclass
-import org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity
-import spock.lang.Shared
class SubclassMappingBinderSpec extends HibernateGormDatastoreSpec {
@@ -53,7 +50,7 @@ class SubclassMappingBinderSpec extends HibernateGormDatastoreSpec {
then:
subEntity != null
- 1 * singleTableSubclassBinder.bindSubClass(subEntity, _ as SingleTableSubclass, mappings)
+ 1 * singleTableSubclassBinder.bindSubClass(subEntity, _ as SingleTableSubclass)
1 * classPropertiesBinder.bindClassProperties(subEntity, _ as Subclass)
subClass instanceof SingleTableSubclass
subClass.getEntityName() == SMBSSingleSub.name