From 69f3cfe837ac564eb18e465f0475e6108d46f67a Mon Sep 17 00:00:00 2001 From: Marco Belladelli Date: Wed, 21 Jun 2023 11:00:19 +0200 Subject: [PATCH] HHH-16709 Use embeddable type's compare for embedded attribute mappings --- .../mapping/internal/EmbeddedAttributeMapping.java | 9 +++++---- .../mapping/internal/EmbeddedIdentifierMappingImpl.java | 5 ++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedAttributeMapping.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedAttributeMapping.java index c5339b650e..d8c1b3e701 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedAttributeMapping.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedAttributeMapping.java @@ -13,18 +13,14 @@ import java.util.function.Consumer; import org.hibernate.engine.FetchStyle; import org.hibernate.engine.FetchTiming; -import org.hibernate.engine.spi.SharedSessionContractImplementor; import org.hibernate.internal.util.collections.CollectionHelper; import org.hibernate.metamodel.mapping.AttributeMapping; import org.hibernate.metamodel.mapping.AttributeMetadata; import org.hibernate.metamodel.mapping.EmbeddableMappingType; import org.hibernate.metamodel.mapping.EmbeddableValuedModelPart; -import org.hibernate.metamodel.mapping.EntityMappingType; import org.hibernate.metamodel.mapping.JdbcMapping; import org.hibernate.metamodel.mapping.ManagedMappingType; -import org.hibernate.metamodel.mapping.ModelPart; import org.hibernate.metamodel.mapping.PropertyBasedMapping; -import org.hibernate.metamodel.mapping.SelectableConsumer; import org.hibernate.metamodel.mapping.SelectableMapping; import org.hibernate.metamodel.mapping.SelectableMappings; import org.hibernate.metamodel.model.domain.NavigableRole; @@ -407,4 +403,9 @@ public class EmbeddedAttributeMapping } return producer.containsTableReference( tableExpression ); } + + @Override + public int compare(Object value1, Object value2) { + return embeddableMappingType.compare( value1, value2 ); + } } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedIdentifierMappingImpl.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedIdentifierMappingImpl.java index 0ac7270638..b90366da60 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedIdentifierMappingImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedIdentifierMappingImpl.java @@ -23,7 +23,6 @@ import org.hibernate.spi.NavigablePath; import org.hibernate.sql.ast.spi.SqlSelection; import org.hibernate.sql.ast.tree.from.TableGroup; import org.hibernate.sql.results.graph.DomainResultCreationState; -import org.hibernate.sql.results.graph.Fetchable; /** * Support for {@link jakarta.persistence.EmbeddedId} @@ -129,4 +128,8 @@ public class EmbeddedIdentifierMappingImpl return results; } + @Override + public int compare(Object value1, Object value2) { + return getEmbeddableTypeDescriptor().compare( value1, value2 ); + } }