Skip to content

Commit 4362844

Browse files
committed
fix some covariant overriding in JpaExpression and subtypes
1 parent b33c894 commit 4362844

File tree

6 files changed

+16
-19
lines changed

6 files changed

+16
-19
lines changed

hibernate-core/src/main/java/org/hibernate/query/criteria/JpaExpression.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import java.math.BigInteger;
99
import java.util.Collection;
1010
import jakarta.persistence.criteria.Expression;
11-
import jakarta.persistence.criteria.Predicate;
1211

1312
/**
1413
* API extension to the JPA {@link Expression} contract
@@ -53,17 +52,17 @@ public interface JpaExpression<T> extends JpaSelection<T>, Expression<T> {
5352
JpaPredicate in(Expression<Collection<?>> values);
5453

5554
@Override
56-
Predicate equalTo(Expression<?> value);
55+
JpaPredicate equalTo(Expression<?> value);
5756

5857
@Override
59-
Predicate equalTo(Object value);
58+
JpaPredicate equalTo(Object value);
6059

6160
@Override
6261
<X> JpaExpression<X> cast(Class<X> type);
6362

6463
@Override
65-
Predicate notEqualTo(Expression<?> value);
64+
JpaPredicate notEqualTo(Expression<?> value);
6665

6766
@Override
68-
Predicate notEqualTo(Object value);
67+
JpaPredicate notEqualTo(Object value);
6968
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.hibernate.type.descriptor.java.JavaType;
3131

3232
import jakarta.persistence.criteria.Expression;
33-
import jakarta.persistence.criteria.Predicate;
3433

3534
import org.hibernate.type.descriptor.java.spi.JavaTypeRegistry;
3635

@@ -219,12 +218,12 @@ public SqmPredicate equalTo(Object that) {
219218
}
220219

221220
@Override
222-
public Predicate notEqualTo(Expression value) {
221+
public SqmPredicate notEqualTo(Expression value) {
223222
return null;
224223
}
225224

226225
@Override
227-
public Predicate notEqualTo(Object value) {
226+
public SqmPredicate notEqualTo(Object value) {
228227
return null;
229228
}
230229

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/AbstractSqmExpression.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.hibernate.type.descriptor.java.JavaType;
1919

2020
import jakarta.persistence.criteria.Expression;
21-
import jakarta.persistence.criteria.Predicate;
2221
import org.checkerframework.checker.nullness.qual.Nullable;
2322

2423
import static org.hibernate.query.internal.QueryHelper.highestPrecedenceType2;
@@ -121,12 +120,12 @@ public SqmPredicate equalTo(Object value) {
121120
}
122121

123122
@Override
124-
public Predicate notEqualTo(Expression<?> value) {
123+
public SqmPredicate notEqualTo(Expression<?> value) {
125124
return nodeBuilder().notEqual( this, value );
126125
}
127126

128127
@Override
129-
public Predicate notEqualTo(Object value) {
128+
public SqmPredicate notEqualTo(Object value) {
130129
return nodeBuilder().notEqual( this, value );
131130
}
132131

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmExpression.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
import java.util.Collection;
1010
import java.util.function.Consumer;
1111
import jakarta.persistence.criteria.Expression;
12-
import jakarta.persistence.criteria.Predicate;
1312
import org.checkerframework.checker.nullness.qual.Nullable;
1413

1514
import org.hibernate.Internal;
1615
import org.hibernate.metamodel.model.domain.ReturnableType;
1716
import org.hibernate.metamodel.model.domain.DomainType;
1817
import org.hibernate.query.criteria.JpaExpression;
18+
import org.hibernate.query.criteria.JpaPredicate;
1919
import org.hibernate.query.spi.QueryEngine;
2020
import org.hibernate.query.sqm.SqmExpressible;
2121
import org.hibernate.query.sqm.tree.SqmCopyContext;
@@ -130,8 +130,8 @@ default <X> SqmExpression<X> cast(Class<X> type) {
130130
}
131131

132132
@Override
133-
Predicate notEqualTo(Expression<?> value);
133+
JpaPredicate notEqualTo(Expression<?> value);
134134

135135
@Override
136-
Predicate notEqualTo(Object value);
136+
JpaPredicate notEqualTo(Object value);
137137
}

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/expression/SqmFieldLiteral.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.hibernate.type.descriptor.java.JavaType;
2828

2929
import jakarta.persistence.criteria.Expression;
30-
import jakarta.persistence.criteria.Predicate;
3130
import org.checkerframework.checker.nullness.qual.Nullable;
3231

3332
/**
@@ -163,12 +162,12 @@ public SqmPredicate equalTo(Object that) {
163162
}
164163

165164
@Override
166-
public Predicate notEqualTo(Expression<?> that) {
165+
public SqmPredicate notEqualTo(Expression<?> that) {
167166
return nodeBuilder().notEqual( this, that );
168167
}
169168

170169
@Override
171-
public Predicate notEqualTo(Object that) {
170+
public SqmPredicate notEqualTo(Object that) {
172171
return nodeBuilder().notEqual( this, that );
173172
}
174173

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSubQuery.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.hibernate.query.criteria.JpaEntityJoin;
2222
import org.hibernate.query.criteria.JpaExpression;
2323
import org.hibernate.query.criteria.JpaOrder;
24+
import org.hibernate.query.criteria.JpaPredicate;
2425
import org.hibernate.query.criteria.JpaSelection;
2526
import org.hibernate.query.criteria.JpaSubQuery;
2627
import org.hibernate.query.common.FetchClauseType;
@@ -746,12 +747,12 @@ public Set<ParameterExpression<?>> getParameters() {
746747
}
747748

748749
@Override
749-
public Predicate notEqualTo(Expression<?> value) {
750+
public JpaPredicate notEqualTo(Expression<?> value) {
750751
return nodeBuilder().notEqual( this, value );
751752
}
752753

753754
@Override
754-
public Predicate notEqualTo(Object value) {
755+
public JpaPredicate notEqualTo(Object value) {
755756
return nodeBuilder().notEqual( this, value );
756757
}
757758

0 commit comments

Comments
 (0)