This document discusses ORM cache hierarchies and distributed caching. It describes two levels of caching - a session level cache and a query/entry cache level. It addresses consistency problems with caching and discusses solutions like using distributed locks or JTA transaction managers. It also proposes executing queries directly in the entity cache to avoid invalidation issues, and discusses writing data behind asynchronously to caches instead of synchronously to databases.