سؤال

أنا فقط فضول حول شيء "أنا باستخدام HSQL في maeproject (مضمن بالطبع). في بعض الوقت شعرت بالحاجة إلى تصور ما كان السبات الذي كان يولد" أخذ نسخة مجانية من DBVisualizer. هنا هو hsqljdbc.properties

jdbc.url = jdbc: hsqldb: file: mydb؛ إنشاء = صحيح
hibernate hbm2ddl.auto = خلق

قمت بتنزيل HSQL 1.8.0_10. فعلت كل الإجراءات المطلوبة. يمكنني الاتصال ورؤية الجداول ولكن بعد تلك التغييرات التي تم إجراؤها على الجدول لا تبدو مستعدة لإظهارها. لقد حاولت حذف DB إنشاء واحدة جديدة ولكن حصلت على ذلك أي فكرة في هذا؟

أنا عادة ديربي لكنني أدركت مؤخرا أنه ليس هذا دقيقا حول إدارة العلاقات. استخدم MySQL في الوقت الراهن وهو ليس جيدا للتنمية حتى أريد أن أعرف ما إذا نسيت أن أفعل شيئا أو أنه من المفترض أن تتصرف بهذه الطريقة. شكرا لقراءة هذا

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

المحلول

يتم مناقشة استخدام HSQLDB للتطوير والاختبار بالتفصيل في الدليل الجديد.

http://hsqldb.org/doc/2.0/guide/deployment-chapt.html#dec_app_dev_testing.

يستخدم HSQLDB آلية تأخير الكتابة بشكل افتراضي وتسليم التغييرات إلى القرص بعد 10 ثوان في الإصدار 1.8.x أو 0.5 ثانية في الإصدار 2.0 والإصدارات الأحدث.

يمكنك إجبار قاعدة البيانات على إيقاف التشغيل وكتابة جميع التغييرات عند إغلاق الاتصال الأخير باستخدام عنوان URL هذا:

jdbc.url=jdbc:hsqldb:file:mydb;shutdown=true

مع Hsqldb 2.x، يمكنك استخدام خاصية Write_delay لإجبار كل تلتزم بالكتابة إلى القرص على الفور:

jdbc.url=jdbc:hsqldb:file:mydb;hsqldb.write_delay=false

الإصدار 2.2.9 ويستمر في وقت لاحق أحدث التغييرات عند إغلاق الاتصال الأخير، لذلك قد لا يكون ذلك ضروريا للاستخدام hsqldb.write_delay=false للاختبارات التي تغلق الاتصالات.

مع HSQLDB 1.8، تحتاج إلى تشغيل أمر SQL في البداية للقيام بذلك:

تعيين Write_delay كاذبة

نصائح أخرى

بشكل افتراضي، يحتفظ HSQLDB بمحتويات الجدول في الذاكرة حتى يتم إيقاف تشغيل قاعدة البيانات: http://www.hsqldb.org/doc/guide/ch05.html#n10d6.

اعتمادا على احتياجاتك (على سبيل المثال، العمل في بيئة تطوير) قد يكون هذا كافيا. بالنسبة للإنتاج، إلا أنني أفضل استخدام DBMS الذي يكتب كل تغيير على القرص في أماكن متعددة (والتي تعني Oracle، على الرغم من أن MySQL يعمل أيضا أيضا أيضا).

لماذا لا تقم فقط بتعيين show_sql خاصية إلى True إذا كنت تريد أن ترى ما يفعله السبات؟

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