[英]Hibernate Criteria - org.hibernate.PropertyAccessException: IllegalArgumentException
[英]Hibernate : org.hibernate.PropertyAccessException: IllegalArgumentException
我有一個與ManyToMany關系映射的父表(MHS_USER)和關聯的子表(GROUP),如下所示(下面的相關代碼)
@Entity
@Table(name = "mhs_user")
public class MHSUser extends implements Comparable<User> {
@ManyToMany(fetch = FetchType.EAGER, cascade = { CascadeType.ALL })
@JoinTable(name = "user_group_rel", joinColumns = @JoinColumn(name = "mhs_user_id"), inverseJoinColumns = @JoinColumn(name = "group_id"))
public List<Group> getGroups() {
return groups;
}
public void setGroups(List<Group> groups) {
this.groups = groups;
}
}
在上面的代碼中,mhs_user_id是MHS_USER表中的標識列,而grp_id是GROUP表中的標識鍵。 USER_GROUP_REL表是保存兩者之間關系的聯接表。 當我保留一個新的User實例時,它可以按預期工作(通過在父表和子表中插入一條記錄)。 但是,當我嘗試將任何值更新為User實例時,都會引發PropertyAccessException。 以下是選擇性堆棧跟蹤
------------------------------------------------------------------------------------------ [1/14/11 13:59:10:154 CST] 0000004b SystemErr R Caused by: org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of edu.mayo.hcdm.mhsr.businessobject.Group.id at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:171) at org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:183) ……………………………………………………………………………………………………………………………………………….. ……………………………………………………………………………………………………………………………………………….. ……………………………………………………………………………………………………………………………………………….. ……………………………………………………………………………………………………………………………………………….. [1/14/11 13:59:10:154 CST] 0000004b SystemErr R ... 90 more [1/14/11 13:59:10:154 CST] 0000004b SystemErr R Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) ------------------------------------------------------------------------------------------
當僅在更新時從GROUP表中搜索group_id時,Hibernate會拋出一個錯誤,即“對象不是聲明類的實例”,這令人感到困惑。 我在線上找到了很多線程,它們是一個休眠錯誤(我使用的是Hibernate 3.3.1)。 有人遇到過同樣的問題嗎?如果是,您最終是如何解決它的? 高度贊賞任何輸入。
確保groups
列表中不包含Group
以外的對象-這似乎是最明顯的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.