一尘不染

休眠PropertyAccessException:IllegalArgumentException

hibernate

我有一个hibernate映射,该映射一直工作到最近-尽管我确定这是我所做的某些更改的结果,但我似乎找不到它。

映射文件将字段定义为:

<id name="id" column="id">
    <generator class="native" />
</id>

该类将该字段定义为:

private Long id;
public Long getId() {
    return id;
}
public void setId(Long id) {
    this.id = id;
}

运行此代码时,出现以下错误:

org.hibernate.PropertyAccessException: 
    IllegalArgumentException occurred while calling setter of MyClass.id

与此对应的数据库字段定义为:

`id` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY

我还有其他几个具有相似结构和定义的类,并且它们没有问题。但是,可能由于我最近所做的一些更改而导致,此特定映射将不再正常工作。

有什么建议么?


阅读 210

收藏
2020-06-20

共1个答案

一尘不染

我不确定,但是您可以尝试以下方法:

<id name="id" type="java.lang.Long">
            <column name="id" />
            <generator class="native" />
</id>

Hibernate可能设置了错误的值。

2020-06-20