Используйте PersistenceManager.newObjectIdInstance (), как таковой
List<Object> ids = new ArrayList<Object>();
for (Key key : keys) {
ids.add(pm.newObjectIdInstance(Foo.class, key));
}
return (List<Foo>) pm.getObjectsById(ids);
Я не уверен, однако, насколько дорогой вызов newObjectIdInstance (это не должно быть из того, что я вижу).