2011-05-10 120 views
0

您好我正在Hibernate工作。我遇到了版本标签的问题。休眠版本标签问题

这是我使用的版本标签:

<version name="version" type="java.lang.Integer" column="Version" access="property" unsaved value="null" /> 

下面是ID标签我使用

<id name="Id" type="java.lang.Long" > 
    <column name="ID" precision="22" scale="0" /> 
    <generator class="sequence"> 
     <param name="sequence">id_seq</param> 
    </generator> 
</id> 

由于该表在许多项目中使用,所以版本列,他们是插入为空。

但在我的应用程序,因为我使用的版本标签,它不除外空值,如果无效,它把作为插入并调用序列发生器,并增加标识,这就造成了我很多问题。

如何解决这个问题?如果为空,可以避免调用seq生成器并将版本列保存为1?

回答

0

只需对数据库中的该列定义的默认值1。

+0

但其他一些应用程序被明确地将“NULL”此列。所以该列被保存为NULL,尽管默认值为0 – Senthilnathan 2011-05-10 11:02:52

+2

@Senthilnathan:找到其他应用程序并修复它。如果找不到它,请将列定义更改为NOT NULL,并查看运行的人员。 – 2011-05-10 11:34:03