diff --git a/gemini/src/main/java/com/techempower/cache/MethodValueCache.java b/gemini/src/main/java/com/techempower/cache/MethodValueCache.java index dd7fcf0..d80054a 100755 --- a/gemini/src/main/java/com/techempower/cache/MethodValueCache.java +++ b/gemini/src/main/java/com/techempower/cache/MethodValueCache.java @@ -27,7 +27,6 @@ package com.techempower.cache; -import gnu.trove.iterator.*; import gnu.trove.map.*; import gnu.trove.map.hash.*; import gnu.trove.set.*; @@ -211,16 +210,10 @@ public List getObjects(String methodName, Object value) { return new ArrayList<>(0); } - - List values = new ArrayList<>(); - - for (TLongIterator iterator = ids.iterator(); iterator.hasNext();) - { - long id = iterator.next(); - values.add(this.cache.get(this.type, id)); - } - - return values; + + // Provide the list of desired IDs to map() so that, if this is an EntityGroup, we can + // efficiently build all of them from a single query. + return new ArrayList<>(this.cache.map(this.type, ids.toArray()).valueCollection()); } } finally