menusearch
javapro.ir

Hibernate چیست و چه کاربردی در زبان جاوا دارد؟

جستجو
شنبه ۱۶ اسفند ۱۳۹۹ | ۲:۴۵:۳۶
۱۳۹۹/۱۱/۱۱ شنبه
(1)
(0)
Hibernate چیست و چه کاربردی در زبان جاوا دارد؟
Hibernate چیست و چه کاربردی در زبان جاوا دارد؟

کاربرد Hibernate  در زبان برنامه نویسی جاوا چیست؟

 

Hibernate ابزاری متناسب با منبع باز نقشه برداری شی(ORM)  است که چارچوبی را برای نقشه برداری از مدل های دامنه شی گرا به پایگاه داده های رابطه ای برای برنامه های وب زبان جاوا فراهم می کند. Hibernate از انواع سفارشی تعریف شده توسط کاربر پشتیبانی می کند. معماری Hibernate در چهار لایه طبقه بندی شده است. این معماری سطح بالای Hibernate با فایل نگاشت و فایل پیکربندی است.

 

 

 

 Hibernate چیست و چه کاربردی در زبان جاوا دارد؟
برنامه های Hibernate کلاس های پایدار را تعریف می کنند که "به جدولهای پایگاه داده" ترسیم می شوند. معماری Hibernate شامل بسیاری از اشیا مانند اشیا دائمی ، کارخانه جلسه ، کارخانه تراکنش ، کارخانه اتصال ، جلسه ، معامله و غیره است. معماری Hibernate در چهار لایه طبقه بندی شده است. یک معماری سطح بالا با فایل نگاشت و فایل پیکربندی است.بسیاری از توسعه دهندگان جاوا از "جهنم فراداده" دوری کرده و برخی پیشنهاد کرده اند که به فراداده XML  کد جاوا ساده بازگردید. Hibernate دارای پیش فرض های معقولی است که تایپ کردن را به حداقل می رساند و یک تعریف کامل نوع فایل دارد که می تواند برای تکمیل خودکار یا اعتبار سنجی استفاده شود.

 

 

 

 

روند انتقال داده ها از کلاس ها به پایگاه داده و بالعکس از طریق Hibernate
روند انتقال داده ها از کلاس ها به پایگاه داده و بالعکس از طریق Hibernate

 

 


درک معماری Hibernate در ساختار برنامه های جاوا


معماری Hibernate در چهار لایه طبقه بندی شده است.


لایه برنامه جاوا ، لایه چارچوب Hibernate ، لایه api بک هند


لایه پایگاه داده رابط های برنامه نویسی اولین چیزی است که باید در مورد Hibernate یاد بگیرید تا بتوانید از آن در لایه ماندگار برنامه خود استفاده کنید. یک هدف اصلی در طراحی API این است که واسط های بین اجزای نرم افزار را تا حد ممکن باریک نگه داریم. با این حال ، در عمل ، API های ORM کوچک نیستند.
 

 

 

 

درک معماری Hibernate در ساختار برنامه های جاوا
                     معماری Hibernate

 

 


حافظه پنهانی سطح اول :

حافظه پنهانی پیش فرض را نشان می دهد که هنگام تعامل با پایگاه داده توسط شی Hibernate Session استفاده شده است. همچنین جلسه و اشیا را در جلسه فعلی cache می کند. همه درخواست های Session object از پایگاه داده ، باید از حافظه نهان سطح اول یا حافظه پنهان جلسه عبور کند. باید توجه داشته باشید که حافظه پنهان سطح اول برنامه های جاوا تا زمان فعال شدن شی Session با شی with جلسه در دسترس است.

 

 

 

حافظه پنهان سطح دوم :

برای ذخیره اشیا در طول جلسه استفاده می شود. باید به صراحت فعال شود و یکی از ارائه دهندگان حافظه پنهان برای حافظه پنهان سطح دوم در ساختار برنامه های جاوا لازم است. یکی از ارائه دهندگان پنهان کش سطح دوم ، EhCache است.

 

 

 

اشیا ماندگار:

اشیا قدیمی ساده جاوا هستند (POJO) ، که به عنوان یکی از ردیف های جدول مربوطه در پایگاه داده توسط Hibernate ادامه می یابد. آنها را می توان در پرونده های پیکربندی (hibernate.cfg.xml ) یا (hibernate. Properties) پیکربندی کرد یا حاشیه نویسی توسط حاشیه نویسیEntity.

 

 

 

 

کاربرد Hibernate در زبان برنامه نویسی جاوا چیست؟
Hibernate ابزار تولید ORM

 

 

 

 

رابط های  Hibernate در زبان جاوا به صورت زیر طبقه بندی شود:
رابط هایی که توسط برنامه ها برای انجام CRUD اساسی (ایجاد / خواندن / به روزرسانی / حذف) و پرس و جو فراخوانی می شوند، این رابط ها نقطه اصلی وابستگی منطق برنامه / کنترل برنامه به Hibernate است. آنها شامل جلسه ، تراکنش و پرس و جو هستند. رابط هایی که با کد زیرساخت برنامه برای پیکربندی Hibernate ، از همه مهمتر ، کلاس Configuration فراخوانی می شوند.رابط های تماس مجدد که به برنامه اجازه می دهد در برابر وقایع درون Hibernate مانند Interceptor ، Lifecycle و Validatable واکنش نشان دهد.

 

 


رابط هایی که امکان گسترش نقشه برداری قدرتمند Hibernate را فراهم می کنند ، مانند User Type ، Composite User Type و  Identifier Generator این رابط ها توسط کد زیرساخت برنامه (در صورت لزوم) پیاده سازی می شوند. Hibernate از API های موجود جاوا ، از جمله  JDBC  (اتصال پایگاه داده جاوا) ، API تراکنش جاوا (JTA، و نامگذاری جاوا و رابط دایرکتوری JNDI ) استفاده می کند. JDBC یک سطح ابتدایی از انتزاع عملکرد مشترک در پایگاه داده های رابطه ای را فراهم می کند ، اجازه می دهد تقریباً هر پایگاه داده ای با یک درایور   JDBCتوسط Hibernate پشتیبانی شود. JNDI و JTA به Hibernate اجازه می دهند تا با سرورهای برنامه JEE2 ادغام شود.

 

 

 

آموزش Hibernate  در زبان جاوا
رابط های Hibernate

 

 

 

رابط های اصلی
پنج رابط اصلی تقریباً در هر برنامه Hibernate استفاده می شود. با استفاده از این رابط ها می توانید اشیا ماندگار  برنامه های جاوا را ذخیره و بازیابی کنید و تراکنش ها را کنترل کنید.

 

 

 

رابط جلسه:

رابط Session رابط اصلی است که توسط برنامه های Hibernate زبان جاوا استفاده می شود. یک نمونه از Session آسان  و ایجاد و از بین بردن آن کم هزینه است. ، این گزینه با توجه به هر درخواست اهمیت دارد ، زیرا برنامه شما نیاز به ایجاد و از بین بردن جلسات دائمی دارد . جلسات  Hibernate ایمنی موضوعی ندارند و باید از طریق طراحی همزمان فقط یک نخ استفاده شود. مفهوم  Hibernateیک جلسه چیزی بین اتصال و تبادلات است.

 

اگر  جلسه را به عنوان یک حافظه نهان یا مجموعه ای از اشیا بارگیری شده ، مربوط به یک واحد عملی نمایید، کار با آن راحت تر میباشد.  Hibernateمی تواند تغییرات اشیا موجود در واحد کاری را تشخیص دهد. ما بعضی مواقع Session را ماندگار می نامیم زیرا رابط کاربری مربوط به پایداری ذخیره و بازیابی اشیا می شود.

 

توجه داشته باشید که یک جلسه Hibernate هیچ ارتباطی با وب ردیف HttpSession ندارد. وقتی از کلمه session استفاده می کنیم منظورمان جلسه Hibernate است. ما گاهی اوقات از user session برای ارجاع به شی HttpSession استفاده می کنیم. جلسه، تعامل بین برنامه و پایگاه داده در هر لحظه از زمان را نشان می دهد. جلسه توسط کلاس org.hibernate.Session نشان داده می شود. نمونه جلسه را می توان از لوبیای Session Factory بازیابی کرد.

 

 


رابط Session Factory :

این برنامه نمونه های Session را از Session Factory به دست می آورد. در مقایسه با رابط Session ، این شی هیجان کمتری دارد . هر کاربر برنامه کاربردی Session Factory را برای یک شی session جلسه درخواست می کند. Session Factory از اطلاعات پیکربندی پرونده ها در برنامه های مبتنی بر زبان جاوا استفاده می کند تا شی session جلسه را به طور مناسب نمونه سازی کند.

 


Session Factory مطمئناً آسان نیست! این برنامه برای به اشتراک گذاشتن در بسیاری از موضوعات برنامه است. به طور معمول یک Session Factory واحد برای کل برنامه وجود دارد - به عنوان مثال در هنگام راه اندازی برنامه ایجاد شده است. با این حال ، اگر برنامه شما با استفاده از Hibernate به چندین پایگاه داده دسترسی پیدا کند ، برای هر پایگاه داده به یک Session Factory نیاز دارید.

 

 

 

رابط پیکربندی :

به طور کلی در  فایل های hibernate. Properties یا hibernate.cfg.xml نوشته می شود. برای پیکربندی جاوا ، می توانید کلاس حاوی حاشیه باConfiguration را پیدا کنید. ازSession Factory برای کار با Java Application و database استفاده می شود. این امر نمایانگر مجموعه ای از نگاشت های یک برنامه جاوا با یک پایگاه داده SQL است.

 

شی Configuration برای پیکربندی و راه اندازی Hibernate استفاده می شود. برنامه با استفاده از یک نمونه پیکربندی محل اسناد نقشه برداری و ویژگی های خاص Hibernate را مشخص می کند و سپس Session Factory را ایجاد می کند. حتی اگر رابط پیکربندی قسمت نسبتاً کمی از کل برنامه Hibernate را بازی کند ، این اولین شی ای است که با شروع استفاده از Hibernate با آن روبرو خواهید شد.
 

 

 

 

کلاس خصوصی آموزش Hibernate

لایه تعامل Hibernate API با پایگاه داده

 

 

 

رابط تبادل :

رابط Transaction یک API اختیاری است. برنامه های Hibernate زبان جاوا ممکن است ترجیح دهند از این رابط استفاده نکنند ، در عوض تراکنش ها را در کد زیرساخت خود مدیریت کنند.

 

Transaction ،کد برنامه را از اجرای تبادل اساسی انتزاع می کند - که ممکن است یک تراکنش JDBC ، تبادل کاربر JTA یا حتی یک تراکنش معماری درخواست مشترک شی  (CORBA) باشد - به برنامه اجازه می دهد تا مرزهای تراکنش را از طریق یک API سازگار کنترل کند. به شما کمک می کند تا برنامه های Hibernate بین انواع مختلف محیط های اجرایی قابل حمل باشند. شما را قادر می سازد به ثبات داده برسید ، و در صورت وقوع اتفاق غیر منتظره ، به عقب بازگردید.

 

 

رابط پرس و جو و معیارها :

رابط Query به شما امکان می دهد پرس و جو ها را در برابر پایگاه داده انجام دهید و نحوه اجرای پرس و جو را کنترل کنید. داده ها  بصورت HQL یا به گویش SQL بومی پایگاه داده شما نوشته می شوند. یک نمونه Query برای اتصال پارامترهای query ، محدود کردن تعداد نتایج برگشت داده شده توسط query و در نهایت برای اجرای query استفاده می شود.

 

رابط کاربری معیارها به شما امکان می دهد تا پرس و جوهای معیارهای شی گرا را ایجاد و اجرا کنید. به برنامه های مبتنی بر زبان جاوا اجازه می دهد تا پایگاه داده را برای یک یا چند شی ذخیره شده جستجو کنند. Hibernate تکنیک های مختلفی را برای جستجوی پایگاه داده فراهم می کند ، از جمله Named Query و Criteria API.

 

 

 

انواع
عنصر اساسی و بسیار قدرتمند معماری Hibernate ، Type است. یک نوع از Hibernate Type یک نوع جاوا را به یک نوع ستون پایگاه داده ترسیم می کند (در واقع ، این نوع ممکن است چندین ستون را پوشش دهد). تمام خصوصیات ثابت طبقات پایدار ، از جمله انجمن ها ، دارای یک نوع Hibernate مربوط به خود  هستند. این طراحی باعث می شود که Hibernate بسیار انعطاف پذیر و قابل توسعه باشد.
طیف گسترده ای از انواع داخلی وجود دارد ، که کل کلاس های جاوا و بسیاری از کلاسهای JDK را شامل می شود ، از جمله انواع java.util.Currency ، java.util.Calendar ، بایت [] و java.io.Serializable .

 

 

 

نتیجه
پایگاه های داده رابطه ای و موتورهای جستجو فناوری های منحصر به فردی نیستند. Hibernate Search قدرت جستجوی متن کامل Lucene را به Hibernate ORM از طریق یک API سطح بالا و جهانی و بدون آسیب رساندن به قابلیت حمل در سطح پایگاه داده برنامه ، به ارمغان می آورد. یکپارچه سازی و شفافیت فرایندهای نمایه سازی Lucene را با عملیات پایگاه داده های Hibernate / JPA مدیریت شده بر روی دامنه اشیا پایدار ادغام می کند. هزینه و زمان برنامه نویسی به دلیل نمایه سازی خودکار در Hibernate Search و حاشیه نویسی در Hibernate Search ، Hibernate / JPA و چارچوب برنامه جاوا Spring 2.0 بسیار کاهش می یابد.

 

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر