2011-11-28 22 views
3

我有一個直到最近一直工作的hibernate映射 - 雖然我確信這是我做出的一些更改的結果,但我似乎無法找到它。Hibernate PropertyAccessException:IllegalArgumentException

映射文件中的字段定義爲:

<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 

我有幾個其他類具有相似的結構和定義,並沒有與他們的問題。然而,可能是由於我最近做出的一些改變而導致的,這個特定的映射將不再正常工作。

有什麼建議嗎?

回答

4

我不知道,但你可以試試這個:

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

休眠可設定錯誤的值。