java - tables - hql left join
¿Qué pasa con este HQL? "Sin tipo de datos para el nodo" (2)
No ha definido el alias "gs". Solo tienes "ags" y "tgs".
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();
Me parece bien, pero el resultado es
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)
¿Por qué? ¿Qué pasa?
cuando apareció este error, debe saber que existe el error tipográfico o no hay espacio entre las palabras o las variables que no se encuentran.