今天跑项目,执行hql语句出现
java.lang.IllegalArgumentException: node to traverse cannot be null!
排除一下,发现原来是hql语句写错:
String hql ="from"+tablename+"where id=" +id;
这句hql语句看似没有问题,其实当你看日志,就发现日志输出有问题的。
控制台输出是:
fromTpgFyxxwhere id=xxxx;
这样看来就是语句就有问题了,少了空格,所以我把语句换成:
String hql ="from "+tablename+" where id=" +id;
我就在参数签后加了空格,查询就正常了。
所以遇到这种问题,一般情况下都是hql语句错误:
你可以检查一下: