پاسخ:
هایبرنیت (Hibernate) دارای دو سطح کش (Cache) برای بهینهسازی عملکرد است:
۱. کش سطح اول (First-Level Cache):
بهصورت پیشفرض و محدود به یک Session است. هر بار که یک شیء را با session.get() دریافت میکنید، اگر قبلاً در همان Session بارگذاری شده باشد، از کش استفاده میشود.
۲. کش سطح دوم (Second-Level Cache):
یک کش اشتراکی بین چند Session است و باید بهصورت جداگانه پیکربندی شود. مناسب برای برنامههایی است که خواندن زیاد و تغییر کم دارند.
session.get(Product.class, 1L); // بار اول → دیتابیس
session.get(Product.class, 1L); // بار دوم → کش
استفاده از کش سطح دوم در برنامههایی با بار خواندنی بالا میتواند عملکرد را به شکل قابلتوجهی افزایش دهد.
⚡️ @javapro_ir✈️ @group_javapro