Hibernate
-
تنفيذ ذاكرة التخزين المؤقت من المستوى الثاني في Hibernate باستخدام NCache
في هذه الدرسة التعليمية سنستكشف تنفيذ الكاشف الثانوي المرتبط بهيبيرنات باستخدام NCache. سنقوم بإعداد تطبيق جافا مع Hibernate. ومن ثم سنضبط NCache ككاشف المرتبط الثانوي. وأخيرًا سنفتح التجربة لنرى كيف يخفف الكاشف العمل المرتبط على القاعدة البياناتية وتحسين الأداء. الأساسيات قبل أن نغطس في التطبيق، دعونا نفهم الأساسيات ل Hibernate و NCache وكاشف Hibernate المرتبط الثانوي. Hibernate Hibernate هو واجهة تواريخ التواصل الفاتوري للبرمجيات الجافا وهي مفتوحة المصدر. تسهم في تسهيل تطوير التواصلات مع القواعد البياناتية عن طريقتواريخ الجافا الأوبجكتي…
-
تعديل بيانات JSON في Postgres و Hibernate 6
هذا مقال آخر في السلسلة المتعلقة بالدعم لل ما يليق بالمعايير الJSON للPostgres في مشروع يستخدم الإطار التوامي النسخة 6. الموضوع لهذا المقال هو عمليات التعديل على السجلات الJSON. وكما في المقال السابق، يستحق ذكر أن Postgres قد لا يمتلك هذه العمليات الشاملة كما البases الNoSQL الأخرى، مثل MongoDB لتعديل المعايير الJSON (على الرغم من أنه بالإنشاء الصحيح للوظائف، يمكن تحقيق نفس النتيجة). ومع ذلك، يتماشى مع دعم المتاتيريات (ولا دعم في قاعدة NoSQL بهذا المستوى). إذاً، فإن استخدام Postgres…
-
دليل الترقية إلى إصدار Spring Boot 3.0 لـ Spring Data JPA و Querydsl
العام الماضي، كتبت مقالتين حول JPA Criteria و Querydsl (انظر مقالات المقدمة و الممتلكات المتغيرة). منذ نهاية العام الماضي، أصدرت Spring Boot إصدارًا رئيسيًا جديدًا هو Spring Boot 3. يعتمد هذا الإصدار على Spring Framework 6 مع العديد من التغييرات والقضايا الكبرى التي يجب أخذها بعين الاعتبار عند الترقية. الهدف من هذا المقال هو تسليط الضوء على هذه التغييرات عند ترقية مشروع sat-jpa (مشروع SAT). تستخدم التقنيات هنا: Spring Boot 3.0.2، Hibernate 6.1.6.Final Spring Data JPA 3.0.1 و Querydsl 5.0.0.…
-
حث في Hibernate: الحصول على البيانات مقابل تحميل البيانات
في Hibernate، يوجد مفهوم جلب سطر واحد. للحصول على سطر واحد في جدول القاعدة البيانات المقابل، سنختار إماget()أوload(). get() get()دائماً يضرب قاعدة البيانات. إذا تم العثور على المعرف القابل للتسلسل، فسنحصل على التفاصيل المقابلة. مثال SwingBowlers swingBowlers = (SwingBowlers) openSession.get(SwingBowlers.class,1); المعرف القابل للتسلسل هو 1 (jerSeyNo) –> المفتاح الأساسي إذا لم يتم العثور على المعرف القابل للتجزئة ، فسنحصل على النتيجة كـ null.تحميل() تحميل()دائمًا يخلق كائنًا مستعارًا.إذا تم العثور على المعرف القابل للتجزئة، فسنحصل على التفاصيل المقابلة. مثال SwingBowlers swingBowlers…
-
كيفية دمج NCache مع JPA Hibernate للتخزين المؤقت في تطبيقات Spring Boot
ما هو JPA Hibernate؟ هابرنيت هي إحدى أكثر مكتبات خرائط الكائن إلى العلاقة (ORM) شعبية للتطبيقات اليافا وسبرينغ. إنها تساعد المطورين على التواصل مع قواعد البيانات العلائقية من التطبيقات اليافا دون الحاجة لكتابة عبارات SQL. تنفذ المكتبة ميضوع JPA (Java Persistence API) وتوفر العديد من الميزات الإضافية التي تساعد على تطوير البِيِّنات في التطبيقات بشكل أسرع وأسهل. التخزين المؤقت في JPA Hibernate إحدى الميزات الرائعة التي يدعمها هابرنيت هو التخزين المؤقت. يدعم هابرنيت مستويين من التخزين – L1 و L2.…
-
دليل الترقية إلى Spring Boot 3.2 لمشروع Spring Data JPA و Querydsl مقابل JPA Criteria، الجزء 6
العام الماضي، كتبت المقال، “دليل الترقية إلى Spring Boot 3.0 لـ Spring Data JPA و Querydsl“، لترقية Spring Boot 3.0.x. الآن، لدينا Spring Boot 3.2. دعونا نرى سببين قد تواجههما عند الترقية إلى Spring Boot 3.2.2. التقنيات المستخدمة في مشروع SAT هي: Spring Boot 3.2.2 و Spring Framework 6.1.3 Hibernate + مولد نموذج JPA 6.4.1. نهائي Spring Data JPA 3.2.2 Querydsl 5.0.0. التغييرات كل التغييرات في Spring Boot 3.2 توصف في ملاحظات إصدار Spring Boot 3.2 و ما الجديد في…
-
وظائف JSON في Postgres مع Hibernate 6
هذا هو استمرار للمقالة السابقة حيث تم وصف كيفية إضافة الدعم لدالات Postgres JSON واستخدام Hibernate 5. في هذا المقال، سنركز على كيفية استخدام عمليات JSON في مشاريع تستخدم إطار عمل Hibernate بإصدار 6. الدعم الأصلي Hibernate 6 يتمتع بالفعل ببعض الدعم الجيد للاستعلام بواسطة مواصفات JSON كما يوضح المثال التالي: لدينا فئة الكيان العادية التي تمتلك موصوف JSON: Java import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.Type; import org.hibernate.type.SqlTypes; import java.io.Serializable; @Entity @Table(name =…
-
وظائف Postgres JSON مع Hibernate 5
قاعدة بيانات Postgres تدعم عدد قليل من أنواع JSON وعمليات خاصة لتلك الأنواع. في بعض الحالات، قد تكون تلك العمليات بديلًا جيدًا لقواعد المستندات مثل MongoDB أو قواعد NoSQL أخرى. بالطبع، قد تمتلك قواعد البيانات مثل MongoDB عمليات تكرار أفضل، لكن هذا الموضوع خارج نطاق هذا المقال. في هذا المقال، سنركز على كيفية استخدام عمليات JSON في المشاريع التي تستخدم إطار العمل Hibernate بالإصدار 5. مثال للنموذج يبدو نموذجنا كما في المثال التالي: Java @Entity @Table(name = “item”) public…
-
بحث النص الكامل في Postgres مع Hibernate 6
هيبرنيت هيبرنيت بحد ذاته لا يوفر دعم للبحث الكامل النصي. يعتمد على دعم محرك قاعدة البيانات أو الحلول الخارجية. تم توفير تمديد يسمى بحث هيبرنيت يربط مع أباتشي لوسن أو بحث الكتان (هناك أيضا تكامل مع OpenSearch). بوستغرس بوستغرس كان لديه وظيفة البحث الكامل النصي منذ الإصدار 7.3. على الرغم من أنه لا يمكن التنافس مع محركات البحث مثل بحث الكتان أو لوسن ، إلا أنه لا يزال يوفر حلاً مرنًا وقويًا قد يكفي لتلبية التوقعات الخاصة بمستخدمي التطبيقات –…