Впадать в спящий режим:Обнуляемый Столбец Автоматического управления версиями
Вопрос
У меня есть таблица, которая содержит огромные данные.Я хочу добавить автоматическое управление версиями hibernate в эту таблицу.Но добавление ненулевого столбца в эту таблицу для управления версиями обходится очень дорого из-за огромного объема данных.Есть ли обходной путь, чтобы hibernate мог работать с нулевым столбцом?В настоящее время hibernate выдает NPE, поскольку он пытается увеличить нулевое значение.(Поскольку hibernate управляет этим внутренне, об изменении значения версии на стороне клиента не может быть и речи) Любой другой способ запуска версий также приветствуется.Заранее спасибо
Решение
Если ваш вкус базы данных позволяет это, вы могли бы использовать опцию ПО УМОЛЧАНИЮ.Это против Oracle ...
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>
Однако вы все равно можете захотеть сравнить его производительность с реальным объемом данных.Это может не решить вашу проблему.