باستخدام Grails/Hibernate مع قواعد البيانات القديمة. كيفية إنشاء وظائف مفقودة؟

StackOverflow https://stackoverflow.com/questions/1048285

  •  20-08-2019
  •  | 
  •  

سؤال

لذلك يدعم Hibernate أحدث إصدار من Firebird ، وهو أمر رائع حقًا. ولكن...

حصلت هنا على قاعدة بيانات Firebird 1.5.2. تطبيق Grails الخاص بي باستخدام قاعدة البيانات هذه عبر Hibernate ... حتى الآن كل شيء رائع.

ترسل تطبيقاتي استفسارات مع وظائف غير معروفة لقاعدة البيانات الخاصة بي. على سبيل المثال الوظيفة المنخفضة ، والتي يتم دعمها الآن في Firebird منذ 2.x.

سؤالي: هل من الممكن الحصول على لهجة سبات خاصة لقاعدة البيانات الخاصة بي؟ حاليا أنا أستخدم: Dialect = "org.hibernate.dialect.firebirddialect"

كيف يمكنني مساعدة قاعدة البيانات الخاصة بي في التعامل مع هذه الوظائف غير المعروفة؟

هل كانت مفيدة؟

المحلول

يمكنك إنشاء فئة لهجة خاصة بك عن طريق التصنيف الفرعي FireBirddialect والكتابة فوق جميع الوظائف التي يجب أن تعيد قيمًا مختلفة.

للحصول على حالة بسيطة من الحاجة إلى إعادة تسمية الوظيفة التي تستخدمها السبات في الحالة السفلية ، يمكنك ببساطة تعيين ما يلي في تكوين السبات الخاص بك:

hibernate.query.SubStitutions tolowercase = mylower

ومع ذلك ، نظرًا لأن Firebird 1.5 ليس له نوع من وظيفة tolowercase ، ستحتاج إلى تنفيذها بنفسك كما هو موضح في وثائق Firebird.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top