org.hibernate.hql.ast.QuerySyntaxException: unexpected token错误,是设置错误造成的,解决方法如下:
1、首先打开notepad++,让脚本显示所有符号。
2、然后发现页面中显示CR LF。
3、这时需要将windows的格式转为linux格式,点击编辑。
4、然后点击档案格式转换->转换为UNIX格式。
5、转换之后,发现回车换行符就变了。再放入linux就不会报错了。
我看了一下你的问题。
1,你写的是hql语句,怎么可能放入到oracle数据库中是对的呢。
2,如果放入oracle中是对的,你写的是sql语句不是很hql语句。
你用的hibernate。我来跟你讲一下hql语句吧。
String hql = "select * from Eadmin a where a.Aname = ?";
a,其中Eadmin要是你跟数据库映射的那个实体类名称(不是数据库表名);
b,其中Aname是你那个实体类的属性(不是数据库的字段名)。
如果有问题可以继续问我哦。
String sql = "select * from Eadmin a where a.Aname = ?";
Query query = sessionFactory.getCurrentSession().createQuery(sql);
query.setString(0, name);
sql = "select * from Eadmin a where a.Aname = ?"; 你这句话是标准的sql语句,但是你在这里sessionFactory.getCurrentSession().createQuery(sql);开启的是hibernate的面向对象的语句所以不可以,你改成sessionFactory.getCurrentSession().createSQL(sql);就可以了