ما هو الـ java hibernate وكيف نستفيد منه، لماذا نستعمله وماهي المشاريع التي يستخدم فيها
ماهو framework java hibernate
Hibernate اطار ORM او Object Relational Mapping
الهدف منه هو تهيئة البيانات القادمة من قاعدة البيانات ليتم التعامل معها ككائنات Objects اثناء البرمجة.
مثلا بدلا من استخدام صيغة SQL العادية لاضافة سجل جديد في جدول الطلاب و ستقوم بدلا من ذلك بإنشاء كائن جديد للكلاس (طالب) وتقوم بتعبئة حقولها تماما كما تتعامل مع الكلاسات الاخرى داخل المشروع.
مثال آخر ستقوم بجلب بيانات طالب معين. سيتم عن طريق ORM تحويل بيانات هذا الطالب الى كائن من نوع طالب تتعامل مع حقوله بالجلب get وال set كما تتعامل مع الانواع الاخرى داخل مشروعك.
كما رأيت هذا يضفي واقعية على كودك ويكون مقروئا اكثر وقابلا للصيانة والتعديل بطريقة افضل.
هذا باختصار !
أضيف أن Hibernate يستخدم HQL (نسخة عامة من SQL) للتخاطب مع قواعد البيانات، رغم أن Hibernate مرن جدا ويسمح لك بفعل تقريبا كل شيء غير أنه يُؤخذ على أسلوبه النمطي (boilerplate) الذي جعل منه يبدو أثقل عند التنفيذ كما أنه يحتاج إلى كثير من الإعدادات للتشغيل (ملفات XML)، ويقوم بتنفيذ العديد من الاستعلامات عند التخاطب مع قاعدة البيانات. حلول ORM أخرى: MyBatis (أو iBatis سابقا) مرن جدا ويسمح لك بالتحكم التام في الاستعلامات المرسلة SQL من تطوير Apache. أيضا ORMLite سهل خفيف وصغير ولا يكاد يحتاج إلى أية إعدادات، ActiveObjects سهل جدا وخفيف هو الآخر يحتاج إلى بعد الإعدادات عند البداية. وهناك المزيد...
نعم يحتاج الكثير للاعدادات لأنه مخصص للمشاريع الكبيرة. ومن ضمن اعداداته :
ملفات Mapping وهي مكتوبة ب XML التي توفق بين الجدول في قاعدة البيانات وبين الكلاس الخاصة به في كودك.
ملفات الاعدادات العام ويتضمن معلومات الاتصال والدرايفر المستخدم للتخاطب وايضا اعدادات Transactions
يفضل استخدام الهايبرنيت مع اطار يدعم Dependency Injection لأن عملية الحقن ستسهل حياتك والاعدادات ايضا وستعطي للهايبرنيت وسيلة تواصل سهلة مع المكتبات الاخرى.
لاحظ معي ان الاعدادات قد تحتاج وقتا لأول مرة لكن في المرات القادمة لن تحتاج اكثر من نسخ ملفات الاعدادات لمشاريعك القديمة والتعديل عليها قليلا وربما اضافة ملفات Mapping جديدة.
التعليقات