エンティティのリストを返すクエリがあります。このリストをキャッシュに入れようとすると、おなじみのjava.lang.IllegalArgumentException
.
ただし...リスト内のすべてのアイテムを問題なくキャッシュに入れることができます。新しい を作成LinkedList
し、取得したリストから for サイクルを使用してこの新しいリストにエンティティをコピーし、それをキャッシュに入れようとしても機能します。
List<MyEntity> a = (List<MyEntity>) q.execute(getKey());
List<MyEntity> b = new LinkedList<MyEntity>();
for (MyEntity e : a)
b.add(e);
cache.put(key, b); // this works
cache.put(key, a); // this doesn't
それで、私は何が欠けていますか?他のクエリのキャッシュは機能しますが、なぜこれが違うのかわかりません。