السبات: الإصدار التلقائي عمود لاغ
سؤال
لدي جدول يحتوي على بيانات ضخمة. أريد إضافة إصدار تلقائي لـ Hibernate إلى هذا الجدول. لكن إضافة عمود غير فائق إلى هذا الجدول للإصدار مكلف للغاية بسبب البيانات الضخمة. هل هناك حل بديل حتى يمكن أن تعمل السبات مع عمود لا لبس؟ حاليًا يعطي السبات NPE لأنه يحاول زيادة قيمة فارغة. (كما يدير Hibernate هذا داخليًا ، يكون تغيير قيمة الإصدار على جانب العميل أمرًا غير وارد) أي إصدار آخر هو موضع ترحيب أيضًا. شكرا لك مقدما
المحلول
إذا سمحت نكهة قاعدة البيانات الخاصة بك ، فيمكنك استخدام الخيار الافتراضي. هذا ضد أوراكل ...
SQL> create table t23 as select object_id as id from user_objects;
Table created.
SQL> desc t23
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
SQL> alter table t23 add hibernate_version_number number default 0 not null;
Table altered.
SQL> desc t23
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
HIBERNATE_VERSION_NUMBER NOT NULL NUMBER
SQL> select count(*) from t23 where hibernate_version_number = 0;
COUNT(*)
----------
504
SQL>
ومع ذلك ، قد لا تزال ترغب في تحديد أدائها مقابل حجم واقعي من البيانات. قد لا يحل مشكلتك.
لا تنتمي إلى StackOverflow