راهنمای کامل Hibernate ORM برای جاوا (Hibernate User Guide)

راهنمای رسمی و جامع Hibernate برای توسعه لایه پایداری داده در جاوا، از پیکربندی و نگاشت موجودیت‌ها تا کوئری‌نویسی، مدیریت تراکنش و بهینه‌سازی عملکرد.

مطالعه آنلاین

دانلود کتاب

توضیحات کامل

📘 راهنمای کامل Hibernate ORM برای جاوا

✨ Hibernate User Guide

راهنمای رسمی و جامع برای ساخت لایه پایداری داده در جاوا، از مبانی تا بهینه‌سازی حرفه‌ای.


🚀 مقدمه

Hibernate یکی از قدرتمندترین ابزارهای ORM (نگاشت شیء به رابطه) در اکوسیستم جاوا است. این کتاب، راهنمای رسمی و کاملی است که مسیر یادگیری آن را از نخستین قدم تا تسلط حرفه‌ای هموار می‌کند.


🧭 ساختار کتاب

🔰 ۱. مقدمه و شروع کار

  • 📖 معرفی Hibernate و JPA

  • ⌨️ نوشتن نخستین برنامه Hibernate

  • 🧩 مفاهیم موجودیت‌ها (Entities)

  • 🔄 نشست‌های Stateful و Stateless

  • 🏗️ سازمان‌دهی منطق پایداری داده

  • 🧪 آزمون لایه پایداری

⚙️ ۲. پیکربندی و راه‌اندازی

  • 📦 افزودن Hibernate به پروژه

  • 🔌 وابستگی‌های اختیاری

  • 🗂️ پیکربندی با XML، API برنامه‌نویسی و فایل Properties

  • 🔍 کشف خودکار موجودیت‌ها

  • 🗄️ تولید خودکار اسکیمای پایگاه داده

  • 🧾 ثبت SQL تولیدشده

  • 🔤 نقل‌قولی کردن شناسه‌های SQL

  • 🇮🇷 پشتیبانی از داده‌های ملی و تاریخ/زمان

🧱 ۳. موجودیت‌ها و مدل‌سازی داده

  • 🏷️ کلاس‌های موجودیت و نوع دسترسی

  • 🌳 وراثت بین کلاس‌ها

  • 🔑 شناسه‌ها: تولیدشده، طبیعی و مرکب

  • 🔢 فیلد نسخه (Version) و شناسه طبیعی (Natural ID)

  • 🔤 انواع پایه، شمارشی و مبدل‌ها (Converters)

  • 📅 انواع تاریخ، زمان و منطقه زمانی

  • 📦 کلاس‌های تعبیه‌شده (Embeddable)

  • 🔗 ارتباطات:

    • ➡️ چندبه‌یک (Many-to-One)

    • 1️⃣ یک‌به‌یک (One-to-One)

    • 🔀 چندبه‌چندی (Many-to-Many)

    • 📚 یک‌به‌چندی یک‌طرفه

  • 🧺 مجموعه‌های مقادیر پایه و آرایه‌های SQL

  • 📋 خلاصه annotationها

  • ⚖️ پیاده‌سازی equals() و hashCode()

🗺️ ۴. نگاشت شیء به رابطه

  • 🌲 نگاشت سلسله‌مراتب وراثت

  • 🗃️ نگاشت به جدول‌ها و ستون‌ها

  • 🔗 نگاشت ارتباطات به کلیدهای خارجی

  • 🧬 پیوندهای کلید اصلی

  • 📏 طول ستون‌ها و نوع‌های تطبیقی

  • 🖼️ مدیریت LOB

  • 🧮 فرمول‌ها (Formulas)

  • 🆔 هویت مشتق‌شده (Derived Identity)

  • 🛡️ افزودن محدودیت‌ها (Constraints)

🔄 ۵. تعامل با پایگاه داده

  • 🧠 بستر پایداری (Persistence Context)

  • 🎬 ایجاد نشست و مدیریت تراکنش

  • ⚡ عملیات روی بستر پایداری

  • 🌊 انتشار آبشاری (Cascade)

  • 💤 پروکسی‌ها و بارگذاری تنبل (Lazy Loading)

  • 🕸️ گراف‌های موجودیت و واکشی مشتاق (Eager)

  • 🔎 کنترل بازیابی بر اساس شناسه و در زمان Merge

  • 🚿 فلاش کردن نشست (Flush)

  • 🔔 Callbackهای چرخه حیات و Entity Listeners

  • 👻 تفاوت Transient و Detached

  • 🛠️ کار مستقیم با JDBC

  • 🆘 راهنمای رفع خطاها

🔍 ۶. اجرای کوئری‌ها

  • 📝 کوئری‌های HQL

  • 🎯 پارامترهای کوئری

  • 🔁 Auto-flush

  • 🧰 Criteria Queries و روش ساده‌تر نوشتن آن‌ها

  • 🧾 کوئری‌های SQL بومی

  • 📐 محدودیت‌ها و مرتب‌سازی

  • ➕ Augmentation

  • 📄 صفحه‌بندی و Key-based Pagination

  • 🧩 نمایش لیست‌های Projection

  • 💾 Named Queries

🛠️ ۷. ابزارهای زمان کامپایل

  • 🗺️ متامدل استاتیک

  • 🧑‍🔧 Repository و متدهای Finder

  • ⚙️ پردازنده Hibernate و Named Queries

  • 🧬 تولید متدهای کوئری

  • 🔖 مرتب‌سازی، صفحه‌بندی و نوع بازگشتی

🚄 ۸. تنظیم و بهینه‌سازی عملکرد

  • 🏊 تنظیم Connection Pool

  • 📦 Fetch Size و Batching

  • 🔗 استراتژی‌های Association Fetching

  • 🧲 Batch Fetching و Subselect Fetching

  • 🧠 کش مرتبه دوم (Second-Level Cache)

  • 🏷️ کش بر اساس Natural ID

  • 🔐 قفل خوش‌بینانه و بدبینانه

  • 📊 جمع‌آوری آمار

  • 🔥 Java Flight Recorder

  • 🐢 ردیابی کوئری‌های کند

  • 📇 افزودن ایندکس

  • 🌀 Stateless Sessions

  • ⚡ پشتیبانی از Reactive

🧬 ۹. موضوعات پیشرفته

  • 🎚️ Filters

  • ⏳ داده‌های زمانی (Temporal)

  • 📜 Audit Logs

  • 🗑️ Soft Delete

  • 🏢 Multi-tenancy

  • 📖 Read-only Replicas

  • 🧑‍💻 SQL سفارشی

  • 🆔 تولیدکننده‌های سفارشی

  • 🏷️ استراتژی‌های نام‌گذاری

  • 🗺️ داده‌های مکانی (Spatial)

  • 📑 مجموعه‌های مرتب و کلیدهای Map

  • 🎲 نگاشت Any

  • ✂️ Insert و Update با ستون‌های انتخابی

  • 🧪 Bytecode Enhancer

  • 🎭 Fetch Profiles


🎯 این کتاب برای چه کسانی است؟

  • 👨‍💻 توسعه‌دهندگان جاوا

  • 🏛️ معماران نرم‌افزار

  • 🎓 دانشجویان و علاقه‌مندان به پایگاه داده

  • 🏗️ هر کسی که می‌خواهد لایه داده‌ای استوار، کارآمد و قابل نگهداری بسازد


    ✅ چرا این کتاب را بخوانیم؟

    ویژگی

    توضیح

    📚 جامع

    از مبانی تا مباحث پیشرفته

    🧭 ساختارمند

    مسیر یادگیری گام‌به‌گام

    🛠️ کاربردی

    مثال‌ها و راهکارهای عملی

    ⚡ بهینه

    تمرکز ویژه بر کارایی


این متن بر اساس فهرست محتوای راهنمای رسمی Hibernate تهیه شده است.