框架:
webwork+spring+hibernate
错误:
org.hibernate.QueryException: Expected positional parameter count: 1, actual parameters: [] [from Yg where bm.bmid=?]
org.hibernate.QueryException: Expected positional parameter count: 1, actual parameters: [] [from Yg where bm.bmid=?]
org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:343)org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:299)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:98)dq.dqyg.service.DqygService.listYg(DqygService.java:44)dq.dqyg.action.DqygAction.listYg(DqygAction.java:30)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)java.lang.reflect.Method.invoke(Method.java:597)
原因:
1.hql语句写错了
2.没有给对象赋值即 没有set
如我的少了下面红色的那句:
String hql="from Yg where bm.bmid=?";
Query query = session.createQuery(hql);
query.setParameter(0,ygmodel.getId());
Yg:意思 员工对象
bm意思 部门表
bmid:意思 部门id
注意hql后面的"?"号的多少!!!!
-------------------------------------------------------------------------------------------------
还有一个hibernate不小心出错的的问题:
node to traverse cannot be null!
如:把"from"写成"form" 或者 "update" 写成 "updete"