کتاب ORM: مقایسه Hibernate و JPA با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

دوره آموزشی ORM: مقایسه جامع Hibernate و JPA استادی در ORM: مقایسه جامع Hibernate و JPA برای توسعه‌دهندگان حرفه‌ای جاوا معرفی دوره: از کدهای SQL خسته‌کننده تا معماری داده قدرتمند آیا از نوشتن کدهای تک...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 87,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره ORM: مقایسه Hibernate و JPA

موضوع کلی: برنامه نویسی

موضوع میانی: ORM (Object-Relational Mapping)

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر پایگاه‌های داده رابطه‌ای
  • 2. مبانی SQL: دستورات DDL و DML
  • 3. معایب کار مستقیم با JDBC
  • 4. معرفی Object-Relational Mapping (ORM)
  • 5. چرا از ORM استفاده کنیم؟ مزایا و معایب
  • 6. مفهوم Persistence و Persistence Layer
  • 7. آشنایی با Java Persistence API (JPA)
  • 8. JPA به عنوان یک استاندارد: نقش و اهمیت آن
  • 9. پیاده‌سازی‌های JPA: معرفی Hibernate
  • 10. تاریخچه و تکامل Hibernate
  • 11. اکوسیستم JPA/Hibernate
  • 12. پیش‌نیازها: JDK, Maven/Gradle
  • 13. راه‌اندازی پروژه ساده JPA/Hibernate با Maven
  • 14. پیکربندی اولیه فایل persistence.xml
  • 15. تعریف واحد Persistence (Persistence Unit)
  • 16. اتصال به پایگاه داده: تنظیمات DataSource
  • 17. ساختار پروژه و دایرکتوری‌ها
  • 18. معرفی EntityManagerFactory
  • 19. معرفی EntityManager
  • 20. تفاوت EntityManager و Session در Hibernate
  • 21. تعریف یک کلاس Entity ساده
  • 22. Annotation پایه: @Entity
  • 23. Annotation پایه: @Id
  • 24. Annotation پایه: @GeneratedValue و استراتژی‌ها
  • 25. Annotation پایه: @Table و @Column
  • 26. نگاشت انواع داده‌ای اولیه (Basic Types)
  • 27. نگاشت انواع داده‌ای تاریخ و زمان (Date/Time Types)
  • 28. نگاشت اشیاء Embeddable با @Embedded و @Embeddable
  • 29. استفاده از @AttributeOverride برای Embeddable ها
  • 30. عملیات CRUD: ایجاد (Persist) یک Entity
  • 31. عملیات CRUD: بازیابی (Find) یک Entity
  • 32. عملیات CRUD: به‌روزرسانی (Merge) یک Entity
  • 33. عملیات CRUD: حذف (Remove) یک Entity
  • 34. درک مفهوم Persistence Context
  • 35. حالت‌های یک Entity: New, Managed, Detached, Removed
  • 36. متدهای flush() و refresh()
  • 37. مفاهیم اولیه تراکنش‌ها (Transactions)
  • 38. مدیریت تراکنش‌ها با JTA و Resource-Local
  • 39. Annotation: @Transactional
  • 40. نگاشت رابطه یک به یک (One-to-One Mapping)
  • 41. One-to-One: ارتباط مالک و غیرمالک (Owning vs. Inverse Side)
  • 42. One-to-One: با کلید خارجی مشترک (Shared Primary Key)
  • 43. نگاشت رابطه یک به چند (One-to-Many Mapping)
  • 44. نگاشت رابطه چند به یک (Many-to-One Mapping)
  • 45. Many-to-One: بهترین روش برای طرف مالک
  • 46. One-to-Many با لیست (List) و مجموعه (Set)
  • 47. نگاشت رابطه چند به چند (Many-to-Many Mapping)
  • 48. Many-to-Many: جدول واسط (Join Table)
  • 49. پیچیدگی‌های Many-to-Many و راهکارهای جایگزین
  • 50. استراتژی‌های fetch: بارگذاری Lazy و Eager
  • 51. مشکل N+1 در بارگذاری و راه حل‌ها
  • 52. استراتژی وراثت: Single Table (@Inheritance(strategy=SINGLE_TABLE))
  • 53. استراتژی وراثت: Joined Table (@Inheritance(strategy=JOINED))
  • 54. استراتژی وراثت: Table Per Class (@Inheritance(strategy=TABLE_PER_CLASS))
  • 55. مقایسه استراتژی‌های وراثت و انتخاب بهترین گزینه
  • 56. معرفی زبان JPQL (Java Persistence Query Language)
  • 57. نوشتن کوئری‌های JPQL برای بازیابی داده
  • 58. پارامترهای نامی و موقعیتی در JPQL
  • 59. استفاده از JOIN FETCH در JPQL
  • 60. توابع تجمعی و عبارات GROUP BY در JPQL
  • 61. معرفی Criteria API: مزایا و معایب
  • 62. ساخت کوئری‌های Type-Safe با Criteria API
  • 63. نوشتن کوئری‌های Native SQL
  • 64. استفاده از Named Queries: XML و Annotation
  • 65. معرفی L1 Cache (Persistence Context Cache)
  • 66. معرفی L2 Cache (Shared Cache) در Hibernate
  • 67. پیکربندی L2 Cache: Ehcache و Infinispan
  • 68. استراتژی‌های L2 Cache: Read Only, Nonstrict Read Write, Read Write
  • 69. قفل‌گذاری خوش‌بینانه (Optimistic Locking) با @Version
  • 70. قفل‌گذاری بدبینانه (Pessimistic Locking)
  • 71. مدیریت تراکنش‌ها: ACID Properties
  • 72. سطوح ایزولاسیون تراکنش‌ها
  • 73. مدیریت تراکنش برنامه‌ای (Programmatic) در مقابل اعلامی (Declarative)
  • 74. تفاوت Session و EntityManager
  • 75. استفاده از Session در Hibernate API (جدای از JPA)
  • 76. Hibernate Filters
  • 77. رویدادها و شنونده‌ها (Events and Listeners) در Hibernate
  • 78. Batch Processing: Batch Inserts و Batch Updates
  • 79. استفاده از ScrollableResults و ResultTransformer (ویژگی‌های Hibernate)
  • 80. معرفی Spring Data JPA: ساده‌سازی دسترسی به داده
  • 81. ایجاد Repository با Spring Data JPA
  • 82. متدهای Query Derived در Spring Data JPA
  • 83. استفاده از @Query در Spring Data JPA
  • 84. Pagination و Sorting با Spring Data JPA
  • 85. مزایای Spring Data JPA در توسعه سریع
  • 86. مقایسه رویکردهای JPA و Hibernate-Specific
  • 87. انتخاب بین JPA و Hibernate: چه زمانی هر کدام مناسب است؟
  • 88. بهترین روش‌ها برای طراحی Entity
  • 89. بهترین روش‌ها برای نگاشت روابط پیچیده
  • 90. مقابله با مشکل LazyInitializationException
  • 91. مقابله با مشکل Detached Entity
  • 92. استراتژی‌های واکشی (Fetch Strategies) و بهینه‌سازی
  • 93. ابزارهای پروفایلینگ و مانیتورینگ Hibernate
  • 94. تست واحد (Unit Testing) Entity ها
  • 95. تست یکپارچه‌سازی (Integration Testing) با پایگاه داده Embeddable
  • 96. عیب‌یابی مشکلات رایج در ORM
  • 97. تنظیم Log Level در Hibernate برای عیب‌یابی
  • 98. نکات امنیتی در استفاده از ORM
  • 99. مروری بر ORM های جایگزین (مانند EclipseLink, OpenJPA)
  • 100. جمع‌بندی و چشم‌انداز آینده ORM
تگ‌ها: Database Hibernate Java JPA ORM ORM فارسی آموزش ORM آموزش برنامه نویسی برنامه نویسی پایگاه داده توسعه نرم افزار جاوا مقایسه Hibernate و JPA مهندسی نرم افزار نگاشت شیء-رابطه ای

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.