Hibernate permits enabling / disabling caching at the hierarchy level rather than on a per entity level for performance reasons. This means that @Cache (as noted) is valid on "a root entity [in an inheritance hierarchy] or a collection. The same is true when using javax.persistence.Cacheable.
Please add comments detailing the permitted use of @Cache / @Cacheable and the implications with regard to cache structure/content somewhere in the section on caching in the User Guide.
, You should migrate this to 5.1 and 5.0 as well.
Backported to 5.1 and 5.0 branches as well.