2012-01-26 104 views
0

我最近爲數據庫表(用戶)添加了一個新列(年齡)。我正在使用MS Sql服務器。休眠中的ClassCastException

我有一個Java應用程序試圖向該表添加新記錄。該應用程序使用Hibernate來更新表格。

我有一個名爲UserModel的POJO。年齡列是int類型的。

我的模型定義如下:

@NotEmpty 
@Column(name = "Age", nullable = false, precision = 10) 
public Integer getAge() { 
    return Age; 
} 

public void setAge(Integer Age) { 
    this.Age = Age; 
} 

@Transient 
public boolean isAgeSet() { 
    return getAge() != null; 
} 

當我試圖進入一排,我收到以下錯誤消息:

java.lang.ClassCastException: java.lang.Integer 
at org.hibernate.validator.NotEmptyValidator.isValid(NotEmptyValidator.java:36) 

年齡在Java代碼中設置爲12345。

有沒有人知道爲什麼會發生這種情況?

回答

3

@NotEmpty只能用於StringCollection類型的屬性。

請參閱API documentation

您已使用nullable = false。這應該夠了。

+0

這個答案的工作。 – TheCoder