ال Hibernate architecture متقسمة لمجموعة من الطبقات بحيث انها تخليك بيعد تماما عن اي API هي بتستخدمها وده الشكل العام لها
ال Hibernate بتستخدم Objects كتيره علشان يخزن البيانات وكمان بيستخدم مجموهة APIs لتسهيل التعامل زي
JDBC وده بيوفرله مستوي جيد من التعامل مع قواعد البيانات من تخزين وتعديل
اما ال JNDI(Java Naming and Directory Interface) & JTA(Java Transaction API) بيسمحوله انه يعمل Integration مع اي J2EE Servers
اما عن ال Objects الخاصة بال Hibernate
وهو عبارة عن Thread safe بنشئه مرة واحدة لكل DB في بداية التطبيق اي انه اذا كنا بنتعامل مع اكتر من DB هنعمل منه واحد لكل DB
ودول يعتبرو اهم Objects هنتعامل معها وكل شئ هيوضح بالامثلة
Persistent Object::
هو عباره عن Object او Instance من POJO (Plain Old Java Object) اللي بتمثل ال rows في ال DB وهو في حالة Synchronize مستمرة طالما في عملية علي الDBال Hibernate بتستخدم Objects كتيره علشان يخزن البيانات وكمان بيستخدم مجموهة APIs لتسهيل التعامل زي
JDBC وده بيوفرله مستوي جيد من التعامل مع قواعد البيانات من تخزين وتعديل
اما ال JNDI(Java Naming and Directory Interface) & JTA(Java Transaction API) بيسمحوله انه يعمل Integration مع اي J2EE Servers
اما عن ال Objects الخاصة بال Hibernate
1- Session Factory :
بنستخدم ال Configuration object علشان ننشئه وبستخدمه لكي انشئ ال Session objectوهو عبارة عن Thread safe بنشئه مرة واحدة لكل DB في بداية التطبيق اي انه اذا كنا بنتعامل مع اكتر من DB هنعمل منه واحد لكل DB
private static final SessionFactory factory;
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory
2-Session
وده ال Object اللي بيسمحلك تتعامل مع ال DB وهو short-lived يعني له وقت معين وينتهي ولانه مش امن انك تسيبه مفتوح يجب اني destroy او close عند انتهاء التعامل معه
3- Transaction Object
من اسمه هو اللي بيقوم بالعمليات علي ال DB مع ال Session
Session session = factory.openSession(); n
Transaction tx = null; l
tx = session.beginTransaction(); n
Employee employee = new Employee(fname, lname, salary); y
employeeID = (Integer) session.save(employee); e
tx.commit(); t
ودول يعتبرو اهم Objects هنتعامل معها وكل شئ هيوضح بالامثلة
EmoticonEmoticon