2009-06-18 16 views
46
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) 

क्यों है? क्या गलत है?

उत्तर

76

आपने "जीएस" उपनाम परिभाषित नहीं किया है। आपके पास केवल "एजीएस" और "टीजीएस" है।

-1

जब यह त्रुटि दिखाई दी, तो आपको पता होना चाहिए कि शब्द या चर के बीच टाइपो या कोई स्थान नहीं है।

संबंधित मुद्दे