gpt4 book ai didi

java - Hibernate : org. hibernate.PropertyAccessException:IllegalArgumentException

转载 作者:行者123 更新时间:2023-12-01 05:50:54 25 4
gpt4 key购买 nike

我有一个父表(MHS_USER)和关联的子表(GROUP),与ManyToMany关系映射如下(相关代码如下)

@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 错误的线程(我正在使用 Hibernate 3.3.1)。有没有人遇到过同样的问题,如果有,最后是如何解决的?任何意见都将受到高度赞赏。

最佳答案

确保groups列表不包含Group以外的对象 - 这似乎是最明显的原因。

关于java - Hibernate : org. hibernate.PropertyAccessException:IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4728402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com