2 aaronlau422 aaronlau422 于 2017.09.01 09:07 提问

Help!求助:Hibernate整合JPA后测试增、删、改、查报错 66C

小弟新手,刚开始学习开发,最近出现一个问题,求各位大神指教,小弟万分感谢!
在做的是一个体系分级,已经实现了针对一级表的增、删、改、查,这里是正常的。
但是在做二级表时报错。二级表与一级表的区别只是:增加了一级主键ID。

下面图片是代码:
图片说明
图片说明
图片说明
图片说明
下面是数据表:标红框的地方是上级ID标识。
图片说明
下面是报错信息:
1. 保存报错:
非法参数异常发生
javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.byebook.bean.study.CyYw1KP2.kpID
非法参数异常发生
Caused by: org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.byebook.bean.study.CyYw1KP2.kpID
对象不是声明类的实例。
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class

  1. 查询报错:

    javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.byebook.bean.study.CyYw1KP2.kp1ID

    Caused by: org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.byebook.bean.study.CyYw1KP2.kp1ID

  2. 删除报错:
    javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.byebook.bean.study.CyYw1KP2.kp1ID


    Caused by: org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.byebook.bean.study.CyYw1KP2.kp1ID

    Caused by: java.lang.IllegalArgumentException: argument type mismatch

  3. 更新报错:

    javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.byebook.bean.study.CyYw1KP2.kp1ID

    Caused by: org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.byebook.bean.study.CyYw1KP2.kp1ID

    Caused by: java.lang.IllegalArgumentException: argument type mismatch

    求各位大神指教,小弟再次万分感谢!!!
    

1个回答

oliver_105397
oliver_105397   2017.09.01 10:46
 @Column(name="KpId", insertable=false,updatetable=false)

会不会是这个问题。还有,这个表设计貌似不太合理呀,既然是树结构(分级关系)为什么还要多建一个子级表呢,直接同一张表然后给一个父级列名就好啦。

aaronlau422
aaronlau422 回复oliver_105397: 改了之后还是报那个错误。。。
3 个月之前 回复
oliver_105397
oliver_105397 回复AaronLau314: @Column(name="KpId")这样试试?
3 个月之前 回复
aaronlau422
aaronlau422 回复oliver_105397: 对不起,去掉之后运行程序还是报那几个错误...
3 个月之前 回复
oliver_105397
oliver_105397 回复AaronLau314: 把两个false的属性去掉试试
3 个月之前 回复
aaronlau422
aaronlau422 不好意思,再问一下,这条语句什么地方有问题啊?应该怎么修改?
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片