The points indicated in another answer seem valid. However, for me, the main disadvantages are something else:
Decreased performance. Yes, when caching, you DO NOT need to improve performance. Hibernate needs to do extra work to store and update the cache. If the cache elements change frequently, and you often do not request them, turning on the cache just adds extra load.
Invalid cache. If your application has logics that perform updates in ways that do not update entities (for example, updating SQL directly, updating through another application, bulk HQL updating (I'm not sure about the latter case: P)), Hibernate will not know if the objects have changed. Therefore, when you execute the request, you will still get the image before updating.
source share