بسم الله الرحمن الرحيم
أخواني الاعزاء كما وعدتكم سابقا بالتطرق لموضوع Hibernate و Spring وكيفية استخدامها في برامج الجافا. سوف تكون البداية مع Hibernate.
الهايبرنت هي بيئة مبنية على الجافا عملها الاساسي الربط العلاقي بين الجداول لقاعدة البيانات. فكره هذه الاداة تقوم على انشاء الجدوال المطلوبه للبرنامج كــ Java classes. كل java class والتي تمثل جدول لقاعدة البيانات يجب انشاء ملف hbm.xml والذي يحتوي على تفاصيل الربط.
سوف نبدء بمثال بسيط , لكنه مهم في هذه المرحلة لفهم كيفية انشاء الكلاسات مع hbm.xml
المثال يقول على انشاء مثل جدول لحفظ الزبائن , بالاضافة كيفية انشاء هذا الجدول في قاعدة البيانات من خلال برنامج الجافا بالاضافة الى كيفية اضافة بيانات لهذا الجدول.
انشاء كلاس جدول الزبائن يكون كالتالي:
انشاء كلاس كجدول في الهايبرنت هو نفس انشاء اي كلاس في لي برنامج جافا فمثلا كلاس الزبائن سوف يظهر كالتالي:
يتطلب في البداية تعريف الحقول المطلوبه للجدول فمثلا لجدول الزبائن نريد الاسم الاول للزبون واسم العائلة والايميل. بعد ذلك اضافة متغيرات الحقول , ننشىء لكل متغير الدوال set و get . الكود التالي يوضح كيفية انشاء الكلاس:
package hibernate1.model;
import java.io.Serializable;
/**
* User: Mohammed
*/
public class Customer implements Serializable
{
private Long id;
private int version;
private String firstName;
private String lastName;
private String email;
public Customer()
{
}
public Customer(String firstName, String lastName,String email)
{
assert email != null;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
public Long getId()
{
return id;
}
@SuppressWarnings({"UNUSED_SYMBOL"})
private void setId(Long id)
{
this.id = id;
}
public int getVersion()
{
return version;
}
public void setVersion(int version)
{
this.version = version;
}
public String getFirstName()
{
return firstName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
public String getLastName()
{
return lastName;
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
public String getEmail()
{
return email;
}
public void setEmail(String email)
{
this.email = email;
}
}بعد انشاء الكلاس لجدول الزبائن يتطلب انشاء ملف الربط وهو hbm.xml لتلك الكلاس وهي كالتالي:
وهو ملف xml يحتوي على تفاصيل الكلاس الموجود بالاعلى
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="hibernate1.model"> <class name="Customer" table="customers"> <id name="id" column="customer_id"> <generator class="sequence"/> </id> <natural-id> <property name="email" column="email"/> </natural-id> <version name="version" column="version"/> <property name="firstName" column="firstname" not-null="true"/> <property name="lastName" column="lastname" not-null="true"/> </class> </hibernate-mapping>
ارفق لكم المثال كامل مضغوط ويحتوي على ملفات كاملة
مع العلم استخدمت قاعدة بيانات postgresql
بعد تنزيل البرنامج وتشغيله بواسطه netbeans تحتاج الى ضبط بيانات قاعدة بياناتك بالذهاب الى ملف hibernate.properties سوف تظهر لك اعدادت الهايبرنت الذي يهمنا هو
hibernate.connection.url=jdbc:postgresql://localhost:5432/hib1 hibernate.connection.username=ma hibernate.connection.password=12345
قم بتغير هذه البيانات الى بياناتك
فمثلا
Hib1 هو اسم قاعدة البيانات
Ma اسم المستخدم
123456 كلمة السر
بعد اضافة بيانات قاعدة بياناتك
قبل تنفيذ البرنامج يتطلب منك اضافة ثلاث مكتبات لبرنامجك وهي مرفقه مع الموضوع.
اتمنى لكم التوفيق, حاولت قدر المستطاع ان يكون الموضوع واضح , وسوف احاول جهدي في المواضيع القادمة.
الدرس القادم عن كيفية انشاء وربط اكثر من كلاس
اخوكم محمد العضيب

