2011-05-10 59 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