کتاب ORM: مقایسه Hibernate و JPA با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره آموزشی ORM: مقایسه جامع Hibernate و JPA استادی در ORM: مقایسه جامع Hibernate و JPA برای توسعهدهندگان حرفهای جاوا معرفی دوره: از کدهای SQL خستهکننده تا معماری داده قدرتمند آیا از نوشتن کدهای تک...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره 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
مهندسی نرم افزار
نگاشت شیء-رابطه ای
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.