If a query with setCacheable(true) contains a subquery, the entities from the subquery are not added to the "synchronized query space", and because of this, stale results may be returned from the second level cache.