Quel est le problème avec cette HQL? & # 8220; Aucun type de données pour le noeud & # 8221;

StackOverflow https://stackoverflow.com/questions/1012408

  •  06-07-2019
  •  | 
  •  

Question

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();

Cela me semble bien, mais le résultat est

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)

Pourquoi? Quel est le problème?

Était-ce utile?

La solution

Vous n'avez pas défini les "" gs " alias. Vous avez uniquement " ags " et "tgs".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top