Following article discusses quite a tricky use-case in Hibernate query caching, when stale information needs to be tolerated for the sake of performance, and provides solution to it. While tricky, the use-case is not that rare. The solution, touches some new features in the latest Hibernate source, that can be used in other ways, too (like QueryCache turning into an interface instead of a class).