مكونات JPA - ORM
مكونات JPA - ORM
مكونات JPA - ORM
تستخدم معظم التطبيقات المعاصرة قاعدة بيانات علائقية لتخزين البيانات الكبيرة. في الآونة الأخيرة ، تحول العديد من البائعين إلى قاعدة بيانات الكائنات لتقليل العبء على صيانة البيانات. وهذا يعني أن قاعدة بيانات الكائنات أو التقنيات المتعلقة بالكائنات تهتم بالتخزين والاسترجاع والتحديث والصيانة. الجزء الأساسي من كائن التقنيات العلائقية هذا هو تعيين ملف orm.xml. إذا كان ملف xml لا يحتاج إلى ترجمة ، يمكننا بسهولة إجراء تغييرات على مصادر بيانات متعددة مع إدارة أقل.
كائن الاعدادات او التخطيط العلائقية Oject Rational Mapping
يخبرك "كائن الاعدادات العلائقية " (ORM) باختصار عن ماهية ORM وكيف تعمل. ORM هي قدرة برمجة على إخفاء البيانات من نوع الكائن إلى نوع العلائقية والعكس.
الميزة الرئيسية لـ ORM هي تعيين كائن أو ربطه ببياناته في قاعدة البيانات. أثناء التعيين ، يتعين علينا النظر في البيانات ونوع البيانات وعلاقاتها مع الكيان الذاتي أو الكيان في أي جدول آخر.
الميزات المتقدمة
الثبات الاصطلاحي Idiomatic persistence : يمكنك من كتابه فئات الثبات باستخدام الفئات الموجهة للكائنات.
عاليه الأداء High Performance : لديها العديد من تقنيات الجلب وتقنيات تامين الأمل.
الموثوقية Reliable : انها مستقره للغاية وبارزه. تستخدم من قبل العديد من المبرمجين الصناعية.
معمارية اورم ORM
هنا التالي الهندسة المعمارية اورم.
يوضح البنية أعلاه كيفيه تخزين بيانات الكائن في قاعده بيانات علائقية في ثلاث مراحل.
Phase1 المرحلة الأولى
تحتوي المرحلة الاولي ، المسمية باسم مرحله بيانات الكائن object data علي فئات POJO وواجات الخدمة والفئات. وهو طبقه الاعمال الرئيسية المكونة ، والتي لديها عمليات منطق الاعمال والسمات.
علي سبيل المثال دعوانا ناخذ قاعده بيانات الموظفين كمخطط-
تحتوي فئة POJO الموظف علي سمات مثل المعرف والاسم والراتب والتعيين. وأساليب مثل واضعه وطرق لفت من تلك الصفات.
تحتوي فئات الموظفين DAO/Service علي أساليب خدمه مثل إنشاء موظف والبحث عن موظف وحذف موظف.
المرحلة الثانية
المرحلة الثانية المسمية باسم مرحله التعيين أو الثبات التي تحتوي علي موفر JPA ، وملف التعيين (xml) ، وأداه تحميل JPA ، وشبكه الكائنات.
JPA المزود provider: منتج البائع الذي يحتوي علي نكهة JPA (javax. المثابرة). علي سبيل المثال Eclipselink, Toplink, Hibernate الخ.
ملف التعيين او الاعدادات Mapping file: يحتوي ملف التعيين (xml) علي تكوين تعيين بين البيانات في فئة POJO والبيانات في قاعده بيانات علائقية.
JPA محمل Loader: محمل JPA يعمل مثل ذاكره التخزين المؤقت ، والتي يمكن تحميل بيانات الشبكة العلائقية. وهو يعمل مثل نسخه من قاعده البيانات للتفاعل مع فئات الخدمة للبيانات POJO (سمات من فئة POJO).
شبكه الكائن object grid: الشبكة كائن هو موقع مؤقت الذي يمكن تخزين نسخه من البيانات العلائقية ، اي مثل ذاكره التخزين المؤقت. يتم تنفيذ كافة الاستعلامات مقابل قاعده البيانات أولا علي البيانات الموجودة في شبكه الكائن. فقط بعد ان التنفيذ ، فانه يؤثر علي قاعده البيانات الرئيسية.
المرحلة 3
المرحلة الثالثة هي مرحله البيانات العلائقية. يحتوي علي البيانات العلائقية التي ترتبط منطقيا بمكون الاعمال. كما هو موضح أعلاه ، فقط عندما يقوم مكون الاعمال بتنفيذ البيانات ، يتم تخزينه في قاعده البيانات فعليا. حتى ذلك الحين يتم تخزين البيانات المعدلة في ذاكره التخزين المؤقت كتنسيق شبكه. ونفس الشيء هو عمليه الحصول علي البيانات.
وتسمي اليه التفاعل البرنامجي للمراحل الثلاث المذكورة أعلاه علي انها تعيين كائن علائقي.
تعيين xml
ملف xml الخاص بالتعيين هو إرشاد بائع JPA لتعيين فئات الكيان مع جداول قاعده البيانات.
دعوانا ناخذ مثالا للكيان الموظف الذي يحتوي علي أربع سمات. فئة POJO من كيان الموظف المسمي Employee.Java كما يلي:
public class Employee { private int eid; private String ename; private double salary; private String deg; public Employee(int eid, String ename, double salary, String deg) { super( ); this.eid = eid; this.ename = ename; this.salary = salary; this.deg = deg; } public Employee( ) { super(); } public int getEid( ) { return eid; } public void setEid(int eid) { this.eid = eid; } public String getEname( ) { return ename; } public void setEname(String ename) { this.ename = ename; } public double getSalary( ) { return salary; } public void setSalary(double salary) { this.salary = salary; } public String getDeg( ) { return deg; } public void setDeg(String deg) { this.deg = deg; } }
التعليمه البرمجية المذكورة أعلاه هي فئة POJO كيان الموظف. انه يحتوي علي أربع سمات العيد ، اسم ، الراتب ، و deg. خذ بالاعتبار هذه السمات هي حقول الجدول في قاعده البيانات والعيد هو المفتاح الأساسي لهذا الجدول. الآن لدينا لتصميم ملف تعيين الاسبات لذلك. ملف التعيين المسمي Mapping.xml كما يلي:
xml version="1.0" encoding="UTF-8" ?>
xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
version="1.0">
XML Mapping file
البرنامج النصي أعلاه لتعيين Mapping فئة الكيان مع جدول قاعدة البيانات. في هذا الملف
<column-name>: يتم استخدام العلامة لتعريف اسم حقل الجدول المعرفة من قبل المستخدم.
التعليقات التوضيحيه
يتم استخدام ملفات Xml بشكل عام لتكوين مكون معين ، أو تعيين اثنين من مواصفات مختلفه من المكونات. في حالتنا ، علينا ان نحافظ علي xml بشكل منفصل في اطار. وهذا يعني اثناء كتابه ملف xml التعيين نحن بحاجه إلى مقارنه سمات فئة POJO مع العلامات الكيان في تعيين ملف .xml.
هنا هو الحل: في تعريف الفئة ، يمكننا كتابه جزء التكوين باستخدام التعليقات التوضيحية. يتم استخدام التعليقات التوضيحية للفئات والخصائص والأساليب. تبدا التعليقات التوضيحية بالرمز ' @ '. يتم تعريف التعليقات التوضيحية قبل تعريف الفئة أو الخاصية أو الأسلوب. يتم تعريف كافة الشروح JPA في javax. حزمه الثبات.
هنا يتبع قائمه الشروح المستخدمة في الامثله لدينا.
العلامة التوضيحية | الوصف |
---|---|
@Entity | .يحدد هذا التعليق التوضيحي الإعلان عن الفئة ككيان أو جدول |
@Table | يحدد هذا التعليق التوضيحي إعلان اسم الجدول |
@Basic | .يحدد هذا التعليق التوضيحي الحقول غير المقيدة بشكل صريح |
@Embedded | .يحدد هذا التعليق التوضيحي خصائص الفئة أو الكيان الذي له مثيل بقيمة لفئة قابلة للتضمين |
@Id | .يحدد هذا التعليق التوضيحي الخاصية ، واستخدام الهوية (المفتاح الأساسي لجدول) للفئة |
@GeneratedValue | .يحدد هذا التعليق التوضيحي كيف يمكن تهيئة سمة الهوية مثل تلقائي أو يدوي أو قيمة مأخوذة من جدول التسلسل |
@Transient | .يحدد هذا التعليق التوضيحي الخاصية غير الدائمة ، أي لا يتم تخزين القيمة أبدًا في قاعدة البيانات |
@Column | .يستخدم هذا التعليق التوضيحي لتحديد عمود أو سمة لخاصية الثبات |
@SequenceGenerator | .يستخدم هذا التعليق التوضيحي لتحديد قيمة الخاصية المحددة في التعليقات التوضيحيةGeneratedValue. يخلق تسلسل |
@TableGenerator | .يتم استخدام هذا التعليق التوضيحي لتحديد منشئ القيمة للخاصية المحددة في التعليق التوضيحيGeneratedValue. يخلق جدول لتوليد القيمة |
@AccessType | .يستخدم هذا النوع من التعليقات التوضيحية لضبط نوع الوصول. إذا قمت بتعيين @ AccessType (FIELD) ، فسوف يحدث الوصول إلى الحقل. إذا قمت بتعيين @ AccessType (الملكية) ، فسيحدث تقييم العقار |
@JoinColumn | .يستخدم هذا التعليق التوضيحي لتحديد ارتباط كيان أو مجموعة كيان. يتم استخدامه في العديد من الجمعيات واحد لواحد |
@UniqueConstraint | .يستخدم هذا التعليق التوضيحي لتحديد الحقل ، القيد الفريد للجدول الأساسي أو الثانوي |
@ColumnResult | يشير هذا التعليق التوضيحي إلى اسم عمود في استعلام SQL باستخدام جملة تحديد. |
@ManyToMany | .يتم استخدام هذا التعليق التوضيحي لتحديد علاقة أطراف بأطراف بين جداول الصلة |
@ManyToOne | .يتم استخدام هذا التعليق التوضيحي لتحديد علاقة أطراف بأطراف بين جداول الصلة |
@OneToMany | يتم استخدام هذا التعليق التوضيحي لتحديد علاقة رأس بأطراف بين جداول الصلة. |
@OneToOne | يستخدم هذا التعليق التوضيحي لتحديد علاقة رأس برأس بين جداول الصلة. |
@NamedQueries | يستخدم هذا التعليق التوضيحي لتحديد قائمة الاستعلامات المسماة. |
@NamedQuery | .يستخدم هذا التعليق التوضيحي لتحديد استعلام باستخدام الاسم الثابت |
مقايس جافا بين Java bean standards
تقوم فئة Java بتغليف قيم المثيلات وسلوكياتها في وحدة واحدة تسمى الكائن. يعد Java Bean مكونًا مؤقتًا للتخزين وقابل لإعادة الاستخدام أو كائن. إنه فصل قابل للتسلسل وله طرق منشئ افتراضي و getter و setter لتهيئة سمات المثال بشكل فردي.
معايير بين Bean
يحتوي Bean على المُنشئ الافتراضي أو ملف يحتوي على مثيل متسلسل. لذلك ، يمكن ل بين beanإنشاء مثيل له.
يمكن فصل خصائص البين bean إلى خصائص منطقية وخصائص غير منطقية.
تحتوي الخاصية غير المنطقية على أساليب getter و setter.
تحتوي الخاصية المنطقية على setter وهي الطريقة.
يجب أن تبدأ طريقة Getter في أي خاصية بحرف صغير "get" (اصطلاح طريقة java) ومتابعة باسم الحقل الذي يبدأ بحرف كبير. مثلا اسم الحقل هو "الراتب" وبالتالي فإن طريقة getter لهذا الحقل هي "getSalary ()".
يجب أن تبدأ طريقة Setter في أي خاصية بـ "set" (أحرف طريقة java) صغيرة الحجم ، ومتابعة باسم الحقل الذي يبدأ بحرف كبير وقيمة الوسيطة لتعيينها إلى الحقل. مثلا اسم الحقل هو "الراتب" ، وبالتالي فإن طريقة تعيين هذا الحقل هي "setSalary (double sal)".
بالنسبة إلى الخاصية Boolean ، تتمثل الطريقة في التحقق مما إذا كانت صحيحة أم خاطئة. مثلا الخاصية Boolean 'فارغة' ، طريقة هذا الحقل هي 'isEmpty ()'.
التسميات: JPA
<< الصفحة الرئيسية