Hibernate中的ClassCastException

时间:2012-01-26 16:34:58

标签: java hibernate

我最近在数据库表(用户)中添加了一个新列(age)。我正在使用MS Sql服务器。

我有一个试图在此表中添加新记录的java应用程序。该应用程序使用Hibernate来更新表。

我有一个名为UserModel的POJO。 age列的类型为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。

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:3)

@NotEmpty只能用于StringCollection类型的属性。

请参阅API documentation

您已使用nullable = false。那应该够了。