当前位置: 首页 > 面试题库 >

此HQL有什么问题?“节点无数据类型”

仲法
2023-03-14
问题内容
session.createQuery("Select attribute from GoodsSection tgs " +
    "join gs.ascendants ags join ags.attributes attribute " +
    "where attribute.outerId = :outerId and tgs = :section ")
.setString("outerId", pOuterId)
.setEntity("section", section)
.setMaxResults(1)
.uniqueResult();

在我看来不错,但结果是

java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.IdentNode 
 \-[IDENT] IdentNode: 'attribute' {originalText=attribute}

    at org.hibernate.hql.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:145)
    at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:705)
    at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:529)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:645)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)

为什么?怎么了?


问题答案:

您尚未定义“ gs”别名。您只有“ ags”和“ tgs”。



 类似资料:
  • 问题内容: 我在HQL上尝试获取没有分类的工件(当active为0时) 每当我跑步时,我都会收到错误消息 分类定义: 您可以参考以前遇到的问题,以了解我到底要执行的任务Quest1和Quest 2 问题答案: SQL查询使用列名称,而HQL查询使用类属性。您正在从分类中选择artifact_id,但是分类类没有名为“ artifact_id”的属性。要解决此问题,请使用HQL中的class属性。

  • 在HQL中,我试图获取没有分类的工件(当活动为0时) 每当我跑步时,我都会出错 分类定义: 你可以参考我之前遇到的问题来理解我到底想做什么任务1和任务2

  • null 是什么原因造成了这一点?我是不是形成了一个错误的pfx文件?

  • 这个查询有什么问题? 错误消息: PreparedStatementCallback;错误的SQL语法[选择u.id,u.user_id,count(不同的pf.id),IfNULL(upm.apprum_autoassign_enable,true)来自用户u内部连接user_roles-ur-on-ur.user_ id=u.id左外部连接user_preference_management-

  • 问题内容: 我认为解决此问题的最佳方法就是粘贴我的代码: 如果我先点击 编辑按钮 和比 确认编辑 ,我试图获得(作为结果)的页面标签 FINALLY我在这里 不幸的是,这并不发生。我单击“ 编辑”按钮 ,然后单击“ 确认编辑” ,则什么也没有发生。 我怎么了 干杯 用新版本更新 问题答案: 好吧,那变得复杂了。是否将调用该操作还取决于组件或其父项之一的属性的结果。由于Bean在请求范围内,因此默认

  • 问题内容: 此SQL查询是由SQL Server Managment Studio生成的,它引发了一个错误: 错误是:指向但我觉得这行没问题。 有什么事吗 编辑: 我只是注释掉 现在可以了,为什么呢? 编辑2: 我将其范围缩小到: 我在这里想念什么吗? 问题答案: 我认为这取决于SQL Server数据库版本。 我尝试对SQL Server 2000数据库使用SSMS 2005进行查询,但由于您描