محمد صادق شیخ زاهدی
محمد صادق شیخ زاهدی
خواندن ۲ دقیقه·۷ ماه پیش

دسترسی به پایگاه داده در جاوا: JPA، Hibernate، JDBC و Spring Data

اتصال برنامه‌های جاوا به پایگاه‌ داده ها میتواند گیج کننده باشد، به خصوص زمانی که تلاش می‌کنید تا تعامل بین JDBC، JPA، Hibernate و Spring Data را درک کنید. بیایید به این فناوری‌ها بپردازیم و بر نحوه اتصال برنامه‌نویسان به پایگاه‌ داده ها تمرکز کنیم.

الف) (Java Database Connectivity) JDBC به عنوان یک پل حیاتی بین دنیای جاوا و دنیای پایگاه داده عمل می کند و امکان ارتباط مستقیم بین برنامه جاوا و پایگاه داده را فراهم می کند. با استفاده از JDBC، توسعه دهندگان می توانند با پایگاه داده اتصال برقرار کنند، پرس و جوهای SQL را اجرا و نتایج را مدیریت کنند. با این حال، JDBC نیاز به کدنویسی دستی دارد و فاقد انتزاع سطح بالاتر است امکان بروز اشتباه و خطا بالا است.

ب) JPA (Jakarta Persistence API) برای رفع محدودیت های موجود در JDBC راه حل هایی را ارائه میدهد. JPA یک interface استاندارد برای برنامه های جاوا جهت تعامل با پایگاه های داده رابطه ای است که دسترسی به پایگاه داده را با ارائه مجموعه ای از annotation ها و نگاشت اشیاء جاوا به جداول پایگاه داده ساده می کند.

جهت پیاده سازی JPA، به یک چارچوب ORM مانند Hibernate، TopLink ، iBatis یا ... نیاز دارید. JPA را به عنوان یک رابط و Hibernate را به عنوان یک پیاده سازی در نظر بگیرید. بدون Hibernate (یا ابزاری مشابه)، JPA به تنهایی کاربرد محدودی دارد.

سه حوزه را در بر می گیرد:

  • خود API که در پکیج jakarta.persistence تعریف شده است (javax.persistence برای Jakarta EE 8 و پایین تر) شامل Entity، EntityManager، Query و ...
  • زبان پرس و جوی JPQL (Jakarta Persistence Query Language)
  • Object/relational metadata (ORM)

پ) Hibernate یک چارچوب قدرتمند و پرکاربرد Object-Relational Mapping (ORM) است. این یک پیاده سازی JPA است، به این معنی که به قوانین تعیین شده توسط JPA پایبند است. Hibernate علاوه بر پیاده سازی JPA ویژگی ها و بهینه سازی های اضافی را ارائه می دهد.

ت) Spring Data: به عنوان بخشی جدایی ناپذیر از Spring Framework که به طور گسترده مورد استفاده قرار می گیرد، Spring Data اجرای لایه دسترسی به داده را برای پایگاه داده های مختلف ساده می کند و انتزاع سطح بالاتری را برای دسترسی به داده فراهم می کند. spring data از منابع داده های مختلف، از جمله پایگاه داده های رابطه ای، پایگاه های داده NoSQL و غیره پشتیبانی می کند.

که شامل ماژول های متفاوتی است از جمله Spring Data Commons و Spring Data JDBC و Spring Data JPA و Spring Data KeyValue و Spring Data MongoDB و Spring Data Redis و ...

ث) Spring Data JPA، یک ماژول در Spring Data که به طور یکپارچه با JPA و Hibernate ادغام می شود.

هنگام استفاده از Spring Boot با Spring Data JPA، تنظیمات لازم برای اتصال برنامه جاوا به پایگاه داده به راحتی در دسترس هستند. فقط میزبان پایگاه داده، نام کاربری، رمز عبور را ارائه دهید، و Spring Boot بقیه کارها را انجام می دهد.

jpahibernate
شاید از این پست‌ها خوشتان بیاید