Skip to content

Commit d745572

Browse files
committed
HHH-19745 Use custom SqmCacheable#isCompatible and SqmCacheable#cacheHashCode instead of equals/hashCode for SqmNode
1 parent 1068436 commit d745572

File tree

156 files changed

+3334
-871
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

156 files changed

+3334
-871
lines changed

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/AnyDiscriminatorSqmPath.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import org.hibernate.query.sqm.tree.domain.SqmPath;
1414
import org.hibernate.spi.NavigablePath;
1515

16-
import java.util.Objects;
1716

1817
public class AnyDiscriminatorSqmPath<T> extends AbstractSqmPath<T> implements DiscriminatorSqmPath<T> {
1918

@@ -49,15 +48,25 @@ public AnyDiscriminatorSqmPathSource<T> getExpressible() {
4948
return (AnyDiscriminatorSqmPathSource<T>) getReferencedPathSource();
5049
}
5150

52-
5351
@Override
5452
public boolean equals(Object object) {
5553
return object instanceof AnyDiscriminatorSqmPath<?> that
56-
&& Objects.equals( this.getLhs(), that.getLhs() );
54+
&& getLhs().equals( that.getLhs() );
5755
}
5856

5957
@Override
6058
public int hashCode() {
6159
return getLhs().hashCode();
6260
}
61+
62+
@Override
63+
public boolean isCompatible(Object object) {
64+
return object instanceof AnyDiscriminatorSqmPath<?> that
65+
&& getLhs().isCompatible( that.getLhs() );
66+
}
67+
68+
@Override
69+
public int cacheHashCode() {
70+
return getLhs().cacheHashCode();
71+
}
6372
}

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/EmbeddedDiscriminatorSqmPath.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
import org.hibernate.query.sqm.tree.domain.SqmPath;
1515
import org.hibernate.spi.NavigablePath;
1616

17-
import java.util.Objects;
18-
1917
/**
2018
* {@link SqmPath} specialization for an embeddable discriminator
2119
*
@@ -65,11 +63,22 @@ public <X> X accept(SemanticQueryWalker<X> walker) {
6563
@Override
6664
public boolean equals(Object object) {
6765
return object instanceof EmbeddedDiscriminatorSqmPath<?> that
68-
&& Objects.equals( this.getLhs(), that.getLhs() );
66+
&& getLhs().equals( that.getLhs() );
6967
}
7068

7169
@Override
7270
public int hashCode() {
7371
return getLhs().hashCode();
7472
}
73+
74+
@Override
75+
public boolean isCompatible(Object object) {
76+
return object instanceof EmbeddedDiscriminatorSqmPath<?> that
77+
&& getLhs().isCompatible( that.getLhs() );
78+
}
79+
80+
@Override
81+
public int cacheHashCode() {
82+
return getLhs().cacheHashCode();
83+
}
7584
}

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/EntityDiscriminatorSqmPath.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.hibernate.query.sqm.tree.domain.SqmEntityDomainType;
1818
import org.hibernate.spi.NavigablePath;
1919

20-
import java.util.Objects;
2120

2221
/**
2322
* {@link SqmPath} specialization for an entity discriminator
@@ -79,11 +78,22 @@ public <X> X accept(SemanticQueryWalker<X> walker) {
7978
@Override
8079
public boolean equals(Object object) {
8180
return object instanceof EntityDiscriminatorSqmPath<?> that
82-
&& Objects.equals( this.getLhs(), that.getLhs() );
81+
&& getLhs().equals( that.getLhs() );
8382
}
8483

8584
@Override
8685
public int hashCode() {
8786
return getLhs().hashCode();
8887
}
88+
89+
@Override
90+
public boolean isCompatible(Object object) {
91+
return object instanceof EntityDiscriminatorSqmPath<?> that
92+
&& getLhs().isCompatible( that.getLhs() );
93+
}
94+
95+
@Override
96+
public int cacheHashCode() {
97+
return getLhs().cacheHashCode();
98+
}
8999
}

hibernate-core/src/main/java/org/hibernate/query/hql/internal/FullyQualifiedReflectivePath.java

Lines changed: 0 additions & 66 deletions
This file was deleted.

hibernate-core/src/main/java/org/hibernate/query/hql/internal/FullyQualifiedReflectivePathSource.java

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)