راهنمای کامل 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 تهیه شده است.