كيفية إنشاء وقراءة تسلسل في السبات؟
-
05-07-2019 - |
سؤال
أحتاج إلى استخدام تسلسل للحصول على قيمة فريدة.يستخدم رمز الإنتاج postgres ولكني أرغب في الوصول إليه عبر Hibernate حتى أتمكن من اختبار ذلك باستخدام HSQLDB.
كيف يمكنني إنشاء وقراءة تسلسل في السبات؟
المحلول
القي نظرة على Dialect
(https://github.com/hibernate/hibernate-orm/blob/5.0/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java).
يحتوي على تعليمات برمجية لتحديد ما إذا كانت قاعدة البيانات الخاصة بك تدعم التسلسلات (supportsSequences()
) وطرق إنشائها وإسقاطها ('getCreateSequenceString(StringequenceName)').
لسوء الحظ، لا توجد طريقة نظيفة للحصول على اللهجة من الجلسة؛يرى كيفية الحصول على لهجة السبات أثناء وقت التشغيل
[الإجابة القديمة]
يمكنك محاولة إعادة استخدام الكود من HibernateDialect
لكن واجهة برمجة التطبيقات الرئيسية لا تقدم هذا.من المحتمل أن يكون أفضل رهان هو تغليف هذا في واجهة ثم استخدام تطبيقات مختلفة حسب لهجتك.