我有一个包含海量数据的表。我想休眠自动版本添加到该表。但添加非空列,此表的版本是非常昂贵的,由于庞大的数据。有一种解决方法,因为Hibernate可以用空列工作?目前,休眠给NPE因为它试图增加一个空值。 (作为休眠管理该内部,改变在客户端版本值是问题的出) 任何其他版本startegy是值得欢迎的了。由于事先

有帮助吗?

解决方案

如果你的数据库的味道允许的话,你可以使用默认选项。这是对甲骨文...

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>

不过,您可能还是想基准其对数据的真实卷的性能。它可能不是解决你的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top