دوره ORM: مقایسه Hibernate و JPA همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره 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
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.