آموزش Hibernate جاوا

هایبرنیت ورژن 3.0 آخرین ورژن متن باز تکنولوژی پایدار در قلب EJB 3.0 می باشد که از آدرس www.Hibernate.com در دسترس برای دانلود می باشد. هسته هایبرنیت شامل 68549 خط کد جاوا به همراه 27948 خط کد واحدهای تست آن می باشد که تحت LGPL به صورت آزاد می باشد و توسعه آن بیش از یک سال طول کشیده شده است. هایبرنیت کلاس های جاوا را به جداول پایگاه داده نگاشت می کند. همچنین امکانات بازیابی اطلاعات و ایجاد پرس و جو برروی آن ها را فراهم می کند و به طور موثری زمان توسعه نرم افزار را کاهش می دهد. هایبرنیت بهترین راه حل برای برنامه های مرکز داده ای که فقط از روال های ذخیره شده برای پیاده سازی منطق تجاری نرم افزار استفاده می کنند نیست. هایبرنیت بیشتر برای کاربردهایی که دامنه آن ها در مد شی گرایی می باشد و برای پیاده سازی منطق تجاری در لایه میانی که بر پایه جاوا می باشد مفید است.هایبرنیت به برنامه اجازه می دهد که بین هر پایگاه داده ای سوئیچ کند. هایبرنیت می تواند در برنامه های Swing جاوا و همچنین برنامه های مبتنی بر Servlet و یا در برنامه های J2EE به کار گرفته شود.
آموزش مدیریت تراکنش و پایگاه داده Hibernate

یک تراکنش (transaction) به طور ساده عبارت است از یک واحد مستقل کار. در چنین موردی، وقتی یک مرحله از تراکنش ناموفق اجرا شود، بایستی کل تراکنش لغو گردد، وگرنه نتیجه ناقص در بر خواهد داشت (به این اصل در اصطلاح atomicity یا یکپارچگی می گویند). یک تراکنش را می توان به وسیله چهار خاصیت یا Properties مهم که در اختصار به آن ها ACFO می گویند، توصیف کرد.

زبان کار با پایگاه داده در Hibernate یا Hibernate Query Language که ساختار HQL نامیده می شود، کاملا شبیه زبان SQL بوده با این تفاوت که زبان HQL مبتنی بر جدول پایگاه داده نیست. به جای استفاده از نام جدول در HQL ما از نام کلاس استفاده می کنیم. بنابراین HQL یک زبان مستقل از پایگاه داده می باشد.

زبان HCQL که مخفف عبارت Hibernate Criteria Query Language است، برای استخراج و دریافت رکوردها از یک رابطه یا جدول بر مبنای یک عبارت جستجو یا الگو خاص (Criteria) به کار می رود. رابط کاربری Criteria یا Criteria Interface متدهایی را فراهم می کند تا به وسیله آن ها معیار مورد نظر جستجو را به Query خود اعمال کنیم. برای مثال اطلاعات رکوردهایی را که میزان حقوق (فیلد Salary آن ها بیسشتر از 50000 است را بیابد و ...).

Hibernate Named Quer راهی است برای استفاده از Query در سطح برنامه با استفاده از نام های معنی دار. به عبارت دیگر یک نام هم معنی با کارکرد Query برای آن انتخاب کرده و به وسیله آن نام Query مورد نطر را در برنامه های Hibernate فراخوانی و اجرا می کنیم. Hibernate Named Quer همانند کاربرد alias در زبان SQL است. چهارچوب کاری Hibernate امکان استفاده از Named Query ها را فراهم کرده و به همین دلیل دیگر برنامه نویسان جاوا نیاز ندارند تا Query را در کل سطح برنامه پراکنده کنند. دو روش برای تعیین Named Query در Hibernate وجود دارد : استفاده از annotation.استفاده از فایل mapping file.


کش Second Level Cache Hibernate از یک کش اشتراکی Common Cache برای تمامی Session object های شی Session factory استفاده می کند. این کش در صورتی که چندین شی Session object از یک Session factory داشته باشید، بسیار کارآمد است. شی Session Factory اطلاعات second level را نگهداری می کند. این شی برای کلیه session object ها عمومی بوده و به صورت پیش فرض فعال نیست.

شما می توانید هر برنامه struts2 را با برنامه های Hibernate به راحتی ادغام کنید. برای انجام این کار تلاش اضافه ای لازم نیست. در این مثال آموزشی قصد داریم تا چهارچوب کاری Struts2 را با Hibernate به کار ببریم. برای این منظور نیاز دارید فایل های jar لازم جهت Struts2 و Hibernate را داشته باشید.

شما به سادگی می توانید برنامه های Spring و Hibernate را با هم ادغام کنید. در چهارچوب کاری Hibernate کلیه اطلاعات لازم جهت پایگاه داده را در فایل Hibernate.cfg.xml تعیین می کنیم. اما اگر بخواهیم یک برنامه Hibernate را با یک برنامه Spring ادغام کنیم، دیگر نیازی به ایجاد فایل hibernate.cfg.xml نیست. می توانیم کلیه اطلاعات مورد نیاز را در فایل applicationContext.xml قرار بدهیم.