(هايبرنيت) چيست؟
براي اينكه در يك برنامه جاوا بتوان از پايگاه داده استفاده نمود مجموعه اي از كلاسها و اينترفيس ها تعريف شده اند كه به آن JDBC API گفته مي شود با استفاده از اين API مي توان دستورات SQL خود را بواسطه درايور به پايگاه داده منتقل نمود يا نتايج جستجو را بازيابي كرد.
يكي از مشكلاتي كه JDBC آنرا حل نكرده است ذخيره و بازيابي داده هاي شي گرا در يك پايگاه داده اي رابطه ايست بهمين خاطر توسعه دهندگان Hibernate برآن شدند تا كتابخانه نرم افزاري ايجاد كند تا بتواند ارتباط دنياي شي گرا با دنياي رابطه اي را برقرار كند. در حقیقت این کتابخانه واسطی شیئگرا برای پایگاههای داده ای رابطهای فراهم میکند و عملیات مربوط به ذخیرهسازی و بازیابی اطلاعات را به صورت خودکار انجام میدهد.
از اين گذشته Hibernate كارايي برنامه را افزايش داده ، كد هاي برنامه را زيبا و خوانايي آنرا بالاتر مي برد.
Hibernate كاملا منطبق بر شي گراست با استفاده از آن مي توان علاوه بر ذخيره نمودن آبجكتها ، رابطه بين آنها را نيز ذخيره كرد روابط Composition ، Association، Inheritance به خوبي با استفاده از Hibernate قابل ذخيره سازي هستند همچنين Hibernate مي تواند با Cache كردن داده ها كارايي و سرعت برنامه را به طرز قابل ملاجظه اي افزايش دهد
اگر چه هايبرنيت پر استفاده ترين ابزار ذخيره سازي داده هاي شي گرا و واسط دنياي شي گرا و رابطه اي است ،اما به جاي آن مي توان از ابزار هاي ديگري مانند iBatis،JDO ، Toplinkو EJB-3 استفاده كرد اما در مقايسه با اين ها استفاده از Hibernate بسيار آسان است و تنظيم ان ساده بوده و اجراي ان نياز به هيج محيط اجرايي ندارد فقط كافيست J2SE 1.2 يا نسخه هاي بعدي انرا داشته باشيد و از ان مي توان در هر برنامه جاوا اعم از وب و غير وب استفاده كرد.
به عنوان آخرين نكته به خاطر داشته باشيد كه Hibernate ابزاري است كه با استفاده از JDBC با پايگاه داده ارتباط برقرار مي كند و با استفاده از آن هر برنامه شي گرا را از مسايل و مشكلات نگهداري داده هاي رابطه اي رهايي مي دهد بنابراين Hibernate جايگزيني براي JDBC محسوب نمي شود بلكه ابزاري است كه خود با JDBC با پايگاه داده ارتباط برقرار نموده و براي برنامه يك نماي شي گرا از پايگاه داده فراهم مي كند .