あんまりまとまってないけど、とりあえずメモっておく。 確実に裏の取れていないところは、後で修正予定。 基本的禁則事項 クエリキャッシュ対象のエンティティの2次キャッシュが設定されていない場合。 この設定は、Hibernate のマニュアルでも禁止事項として上げられています。たとえば、あるクエリに対して100件のエンティティが返される場合を考えてみます。 キャッシュミスした場合 クエリが発行され、DBから100件分のレコードが返され、クエリキャッシュ上にはエンティティのidが100件分格納される。 キャッシュヒットした場合 クエリキャッシュがヒットし、100エンティティ分のidからエンティティを取得しようとする。 2次キャッシュが有効ではないため、各エンティティを取得するために100回クエリを発行する。 このように、普通に SQL でアクセスするよりもはるかに多くのクエリを発行するという恐ろ