Skip to content

Commit f0bfef9

Browse files
committed
use List<?> to pass ids to Session.findMultiple() and StatelessSession.getMultiple()
much more convenient for the caller
1 parent 000a041 commit f0bfef9

File tree

6 files changed

+8
-7
lines changed

6 files changed

+8
-7
lines changed

hibernate-core/src/main/java/org/hibernate/Session.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ public interface Session extends SharedSessionContract, EntityManager {
595595
* @see #byMultipleIds(Class)
596596
* @since 7.0
597597
*/
598-
<E> List<E> findMultiple(Class<E> entityType, List<Object> ids, FindOption... options);
598+
<E> List<E> findMultiple(Class<E> entityType, List<?> ids, FindOption... options);
599599

600600
/**
601601
* Read the persistent state associated with the given identifier into the given

hibernate-core/src/main/java/org/hibernate/StatelessSession.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ public interface StatelessSession extends SharedSessionContract {
353353
* null elements representing missing entities
354354
* @since 7.0
355355
*/
356-
<T> List<T> getMultiple(Class<T> entityClass, List<Object> ids);
356+
<T> List<T> getMultiple(Class<T> entityClass, List<?> ids);
357357

358358
/**
359359
* Refresh the entity instance state from the database.

hibernate-core/src/main/java/org/hibernate/engine/spi/SessionDelegatorBaseImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -968,7 +968,7 @@ public void detach(Object entity) {
968968
}
969969

970970
@Override
971-
public <E> List<E> findMultiple(Class<E> entityType, List<Object> ids, FindOption... options) {
971+
public <E> List<E> findMultiple(Class<E> entityType, List<?> ids, FindOption... options) {
972972
return delegate.findMultiple( entityType, ids, options );
973973
}
974974

hibernate-core/src/main/java/org/hibernate/engine/spi/SessionLazyDelegator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ public void clear() {
268268
}
269269

270270
@Override
271-
public <E> List<E> findMultiple(Class<E> entityType, List<Object> ids, FindOption... options) {
271+
public <E> List<E> findMultiple(Class<E> entityType, List<?> ids, FindOption... options) {
272272
return this.lazySession.get().findMultiple( entityType, ids, options );
273273
}
274274

hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1026,7 +1026,7 @@ else if ( option instanceof BatchSize batchSizeOption ) {
10261026
}
10271027

10281028
@Override
1029-
public <E> List<E> findMultiple(Class<E> entityType, List<Object> ids, FindOption... options) {
1029+
public <E> List<E> findMultiple(Class<E> entityType, List<?> ids, FindOption... options) {
10301030
final MultiIdentifierLoadAccess<E> loadAccess = byMultipleIds( entityType );
10311031
setMultiIdentifierLoadAccessOptions( options, loadAccess );
10321032
return loadAccess.multiLoad( ids );

hibernate-core/src/main/java/org/hibernate/internal/StatelessSessionImpl.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
import jakarta.persistence.EntityGraph;
8383
import jakarta.transaction.SystemException;
8484

85+
import static java.util.Collections.unmodifiableList;
8586
import static org.hibernate.engine.internal.ManagedTypeHelper.asPersistentAttributeInterceptable;
8687
import static org.hibernate.engine.internal.ManagedTypeHelper.isPersistentAttributeInterceptable;
8788
import static org.hibernate.engine.internal.PersistenceContexts.createPersistenceContext;
@@ -763,7 +764,7 @@ public <T> T get(
763764
}
764765

765766
@Override
766-
public <T> List<T> getMultiple(Class<T> entityClass, List<Object> ids) {
767+
public <T> List<T> getMultiple(Class<T> entityClass, List<?> ids) {
767768
for (Object id : ids) {
768769
if ( id == null ) {
769770
throw new IllegalArgumentException("Null id");
@@ -791,7 +792,7 @@ public <T> List<T> getMultiple(Class<T> entityClass, List<Object> ids) {
791792
}
792793
}
793794
else {
794-
uncachedIds = ids;
795+
uncachedIds = unmodifiableList(ids);
795796
for (int i = 0; i < ids.size(); i++) {
796797
list.add( null );
797798
}

0 commit comments

Comments
 (0)