我有以下代码段。它在第3行引发异常,但查询工作正常managemnt studio(sql server 2005)
String query = "select * from user where userId=" + profileId
+ " and spaceName='" + spaceName + "'";
Session session = HibernateUtil.getSession();
List<PersonDetailsData> personDetailsData = new ArrayList<PersonDetailsData>(
session.createQuery(query).list()); //line 3
这是例外
org.hibernate.hql.ast.QuerySyntaxException:意外令牌:*附近 第1行第8列[select * from user userid = 216 and SPACENAME = 'DIG']
在管理sudio运行正常时,我无法弄清楚查询的问题是什么?
答案 0 :(得分:3)
这是本机查询,而不是hql。 如果您已将表字段映射到您需要的类字段
session.createSQLQuery(query, PersonDetailsData.class).list();
或创建hql类型查询 -
select p from PersonDetailData p where p.userId = :userId and p.spaceName =:spaceName
并在查询中使用参数,而不是直接值。
答案 1 :(得分:1)