I seem to have found the answer. Changing the storeKeepBinary field didn't seem to help, but I was able to change things by going to a generic IgniteBiPredicate and casting inside the apply method.
public void initFoo(int key){ IgniteCache<Integer, Foo> myCache = getCache(Foo.class); if (myCache != null){ myCache.loadCache(new IgniteBiPredicate() { @Override public boolean apply(Object integer, Object foo){ return (Integer)integer == key; } }, null); } } -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/