String hql = "update Bus b set b.name=? b.start=? b.end=? b.start_time=? b.end_time=? b.type=? where b.id=?";
Query q = ht.getSessionFactory().getCurrentSession().createQuery(hql);
//q.setString(0, bus.getName());
//q.setString(1, bus.getStart());
//q.setString(2, bus.getEnd());
//q.setString(3, bus.getStart_time());
//q.setString(4, bus.getEnd_time());
//q.setString(5, bus.getType());
//q.setInteger(6, id);
运行时会报错
15:17:08,796 ERROR org.hibernate.hql.PARSER:56 - line 1:47: unexpected token: b
15:17:08,796 ERROR org.hibernate.hql.PARSER:56 - line 1:52: unexpected token: =
大体上就是说b.start那里就开始出错了
而且我把?换成常量时,从工作台给出的hql语句依然可以看到id是从前台获取的...这是什么情况?
java.lang.IllegalArgumentException: node to traverse cannot be null!这错误
|