Skip to content

Commit c91222a

Browse files
committed
HHH-18979 add varargs overload of in()
1 parent a18e5ad commit c91222a

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

hibernate-core/src/main/java/org/hibernate/query/Restriction.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,16 @@ static <T> Restriction<T> equalIgnoringCase(SingularAttribute<T, String> attribu
9797
return restrict( attribute, Range.singleCaseInsensitiveValue( value ) );
9898
}
9999

100+
@SafeVarargs
101+
static <T, U> Restriction<T> in(SingularAttribute<T, U> attribute, U... values) {
102+
return in( attribute, List.of(values ) );
103+
}
104+
105+
@SafeVarargs
106+
static <T, U> Restriction<T> notIn(SingularAttribute<T, U> attribute, U... values) {
107+
return notIn( attribute, List.of(values ) );
108+
}
109+
100110
static <T, U> Restriction<T> in(SingularAttribute<T, U> attribute, java.util.List<U> values) {
101111
return restrict( attribute, Range.valueList( values ) );
102112
}

hibernate-core/src/test/java/org/hibernate/orm/test/query/restriction/RestrictionTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,16 @@ void test(SessionFactoryScope scope) {
130130
equal( isbn, "9781932394153" ) ) )
131131
.getResultList() );
132132
assertEquals( 2, booksByTitleOrIsbn.size() );
133+
List<Book> booksByIsbn1 = scope.fromSession( session ->
134+
session.createSelectionQuery( "from Book", Book.class)
135+
.addRestriction( in( isbn, "9781932394153", "9781617290459", "XYZ" ) )
136+
.getResultList() );
137+
assertEquals( 2, booksByIsbn1.size() );
138+
List<Book> booksByIsbn2 = scope.fromSession( session ->
139+
session.createSelectionQuery( "from Book", Book.class)
140+
.addRestriction( in( isbn, List.of("9781617290459", "XYZ", "ABC") ) )
141+
.getResultList() );
142+
assertEquals( 1, booksByIsbn2.size() );
133143
}
134144

135145
@Entity(name="Book")

0 commit comments

Comments
 (0)