java - 尽管 sql server 工作正常,但仍获取 org.hibernate.hql.ast.QuerySyntaxException?

标签 java hibernate

我有以下代码片段。它在第 3 行处抛出异常,但查询工作正常 managementmnt 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

这是一个异常(exception)

org.hibernate.hql.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select * from user where userId=216 and spaceName='DIG']

当查询在管理sudio中运行良好时,我无法弄清楚查询有什么问题?

最佳答案

这是原生查询,不是 hql。 如果您已将表字段映射到您需要的类字段

session.createSQLQuery(query, PersonDetailsData.class).list();

或创建 hql 类型查询 -

select p from PersonDetailData p where p.userId = :userId and p.spaceName =:spaceName

并在查询中使用参数,而不是直接值。

关于java - 尽管 sql server 工作正常,但仍获取 org.hibernate.hql.ast.QuerySyntaxException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9530969/

相关文章:

java - 从数组执行的操作

java - 如何在Hibernate中获取结果集

sql - GORM - 动态查询 - 分离标准?

mysql - 如何使用 JPA/Hibernate 设置复合主键的列顺序

java - 如何在不使用 persistence.xml 的情况下在 Wildfly 中部署时设置 hibernate.hbm2ddl.auto

java - 直线与垂直线的交点精度

java - 尝试使用 phpass 检查 wordpress 密码哈希

java - 随机生成器出了问题?

java - java 如何从实例字段获取对象?

hibernate - 是否有一个很好的 GUI 可用于显示 Hibernate 统计信息?