org.hibernate.PropertyAccessException: IllegalArgumentException

先看一下报错:

 1 ERROR: HHH000123: IllegalArgumentException in class: com.project.entity.PowerUserEntity, setter method of property: uId
 2 七月 30, 2017 11:52:06 下午 org.hibernate.property.BasicPropertyAccessor$BasicSetter set
 3 ERROR: HHH000091: Expected type: java.lang.String, actual value: java.lang.Integer
 4 org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.project.entity.PowerUserEntity.uId
 5     at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:119)
 6     at org.hibernate.transform.AliasToBeanResultTransformer.transformTuple(AliasToBeanResultTransformer.java:95)
 7     at org.hibernate.hql.internal.HolderInstantiator.instantiate(HolderInstantiator.java:95)
 8     at org.hibernate.loader.custom.CustomLoader.getResultList(CustomLoader.java:395)
 9     at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2254)
10     at org.hibernate.loader.Loader.list(Loader.java:2249)
11     at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:331)
12     at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1784)
13     at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:229)
14     at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:156)
15     at com.project.dao.impl.UserDaoImpl.getPowerByUserId(UserDaoImpl.java:52)
16     at com.project.test.Test.main(Test.java:32)
17 Caused by: java.lang.IllegalArgumentException: argument type mismatch
18     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
19     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
20     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21     at java.lang.reflect.Method.invoke(Method.java:606)
22     at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:65)
23     ... 11 more

红色标注的地方为错误的类型,以及发生错误的位置,造成错误的原因是:数据库关联表中主键id的类型不一致,检查一下是否有的用的是varchar,有的是用的是int,

com.project.entity.PowerUserEntity.uId 自己实体类中的 id 也要与关联表的 id 类型一致,这个问题就迎刃而解了!

 

posted @ 2017-07-31 00:11  大鱼海棠--会飞的鱼  阅读(374)  评论(0编辑  收藏  举报