در این دوره، تمام مفاهیم Hibernate و Spring Data JPA را یاد خواهید گرفت تا برای مصاحبه آماده شوید.
در مورد موارد زیر خواهید آموخت:
Hibernate ORM Framework - JPA Implementation
Hibernate دارای معماری لایهای است که به کاربر کمک میکند بدون نیاز به دانستن APIهای زیرین کار کند. Hibernate از پایگاه داده و داده های پیکربندی برای ارائه خدمات پایدار (و اشیاء پایدار) به برنامه استفاده می کند.
Hibernate Application Architecture با کلاس های اصلی مهم آن.
شیء پیکربندی
شیء Configuration اولین شی Hibernate است که در هر برنامه Hibernate ایجاد می کنید. معمولاً فقط یک بار در طول اولیه سازی برنامه ایجاد می شود.
شئ Configuration دو جزء کلیدی را فراهم می کند -
پیکربندی اتصال پایگاه داده
تنظیم نقشه برداری کلاس
شیء SessionFactory
شیء پیکربندی برای ایجاد یک شیء SessionFactory استفاده میشود.
SessionFactory یک شی ایمن رشته است و توسط همه رشتههای یک برنامه استفاده میشود.
ما به یک شی SessionFactory برای هر پایگاه داده با استفاده از یک پیکربندی جداگانه نیاز داریم.
شیء جلسه
از Session برای برقراری ارتباط فیزیکی با پایگاه داده استفاده می شود. شی Session سبک وزن است و طوری طراحی شده است که هر بار که نیاز به تعامل با پایگاه داده است، نمونه سازی شود. اشیاء پایدار از طریق یک شی Session ذخیره و بازیابی می شوند.
موضوع معامله
یک تراکنش واحد کار با پایگاه داده را نشان می دهد و بیشتر RDBMS از عملکرد تراکنش پشتیبانی می کند. تراکنش ها در Hibernate توسط یک مدیر تراکنش و تراکنش اصلی (از JDBC یا JTA-Java Transaction API) انجام می شود.
شیء پرس و جو
اشیاء پرس و جو از رشته SQL یا Hibernate Query Language (HQL) برای بازیابی داده ها از پایگاه داده و ایجاد اشیا استفاده می کنند. یک نمونه Query برای اتصال پارامترهای پرس و جو، محدود کردن تعداد نتایج برگردانده شده توسط پرس و جو و در نهایت برای اجرای پرس و جو استفاده می شود.
شیء معیار (پرسمان انتخاب فیلتر شده با شرایط Where)
اشیاء معیار برای ایجاد و اجرای پرس و جوهای معیار شی گرا برای بازیابی اشیاء استفاده می شوند.
حالت های شیء را در حالت خواب زمستانی قرار دهید
نمونه جدیدی از یک کلاس دائمی که با Session مرتبط نیست، هیچ نمایشی در پایگاه داده ندارد و هیچ مقدار شناسه ای توسط Hibernate گذرا در نظر گرفته نمی شود:
//فرد در حالت گذرا است
یک نمونه ماندگار یک نمایش در پایگاه داده، یک مقدار شناسه دارد و با یک Session مرتبط است. میتوانید یک نمونه گذرا را با مرتبط کردن آن با Session:
پایدار کنیداکنون، اگر جلسه Hibernate را ببندیم، نمونه دائمی به یک نمونه جدا تبدیل میشود: دیگر به یک Session متصل نیست (اما همچنان میتوان آن را تغییر داد و بعداً دوباره به جلسه جدید پیوست).
HIBERNATE CCHING
Caching مکانیزمی برای افزایش عملکرد یک سیستم است. این یک حافظه بافر است که بین برنامه و پایگاه داده قرار دارد. حافظه پنهان اخیراً از موارد داده استفاده می کند تا تعداد بازدیدهای پایگاه داده را تا حد امکان کاهش دهد.
Cach برای Hibernate نیز مهم است. از یک طرح کش چندسطحی همانطور که در زیر توضیح داده شده است -
استفاده می کندحافظه پنهان سطح اول
حافظه پنهان سطح اول Session cache است و یک کش اجباری است که تمام درخواست ها باید از طریق آن عبور کنند. شی Session یک شی را قبل از اینکه به پایگاه داده متعهد شود تحت قدرت خود نگه می دارد.
حافظه پنهان سطح دوم
حافظه پنهان سطح دوم یک کش اختیاری است و کش سطح اول همیشه قبل از هر تلاشی برای یافتن یک شی در حافظه نهان سطح دوم مورد بررسی قرار می گیرد. حافظه پنهان سطح دوم را می توان بر اساس هر کلاس و هر مجموعه پیکربندی کرد و عمدتاً مسئول ذخیره کردن اشیاء در طول جلسات است.
حافظه پنهان در سطح پرس و جو
Hibernate همچنین یک حافظه پنهان برای مجموعه نتایج پرس و جو پیاده سازی می کند که از نزدیک با حافظه پنهان سطح دوم ادغام می شود.
این یک ویژگی اختیاری است و به دو ناحیه حافظه پنهان فیزیکی اضافی نیاز دارد که نتایج جستجوی کش شده و مُهرهای زمانی آخرین بهروزرسانی جدول را در خود نگه میدارد. این فقط برای پرس و جوهایی که اغلب با پارامترهای یکسان اجرا می شوند مفید است.
JPA 4 روش مختلف برای تولید مقادیر کلید اولیه ارائه میدهد: @Id
AUTO: Hibernate استراتژی تولید را بر اساس گویش استفاده شده انتخاب می کند،
هویت: Hibernate برای تولید کلید اصلی به یک ستون پایگاه داده با افزایش خودکار متکی است،
SEQUENCE: Hibernate مقدار کلید اصلی را از دنباله پایگاه داده درخواست می کند،
TABLE: Hibernate از جدول پایگاه داده برای شبیه سازی یک دنباله استفاده می کند.
SPRING DATA JPA - لایه Abstraction ساخته شده در بالای Hibernate
Spring Data JPA، بخشی از خانواده بزرگتر Spring Data، اجرای آسان مخازن مبتنی بر JPA را آسان می کند. این ماژول با پشتیبانی پیشرفته از لایه های دسترسی به داده مبتنی بر JPA سروکار دارد. این کار ساخت برنامههای مجهز به فنر که از فناوریهای دسترسی به داده استفاده میکنند، آسانتر میکند.
پیادهسازی لایه دسترسی به دادههای یک برنامه کاربردی برای مدتی طولانی دشوار بوده است. برای اجرای پرسوجوهای ساده و همچنین انجام صفحهبندی و ممیزی، باید کدهای بسیار زیادی نوشته شود. هدف Spring Data JPA بهبود قابل توجه اجرای لایه های دسترسی به داده با کاهش تلاش به میزان واقعی مورد نیاز است. بهعنوان یک توسعهدهنده، رابطهای مخزن خود را مینویسید، از جمله روشهای یاب سفارشی، و Spring اجرای خودکار را ارائه میکند.
نرم افزار حرفه ای با 11+ سال تجربه در ITI یک نرم افزار Fullstack DevOps با 11+ سال تجربه در انواع فناوری ها از جمله توسعه وب و برنامه های تلفن همراه با استفاده از HTML5 ، CSS3 ، JavaScript ، JQuery ، Bootstrap ، Angular ، React ، Java ، Spring ، Springboot ، Python ، Flask ، Django ، NodeJS ، Express ، Android ، Ionic ، React Native ، Flutter به هوش مصنوعی و فناوری های ابری مانند سرویس های وب آمازون و Microsoft Azure. من همچنین دارای گواهینامه جاوا ، Azure cloud ، محصول Backbase هستم. من تجربه کار با چندین مشتری MNC و اروپایی را دارم. من همچنین یک مربی شرکتی هستم که طیف گسترده ای از آموزش را ارائه می دهد.
نمایش نظرات