请问 这个hql 查询语句有什么问题么 为什么会报空指针异常呢 
from cn.com.FormBean.UserTable as ut inner join cn.com.FormBean.SexTable as st where ut.User_Sex_Id = st.Sex_Id 
异常如下 Exception in thread "main" java.lang.NullPointerException 
at org.hibernate.hql.ast.HqlSqlWalker.createFromJoinElement(HqlSqlWalker.java:317) 
at org.hibernate.hql.antlr.HqlSqlBaseWalker.joinElement(HqlSqlBaseWalker.java:3268) 
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3060) 
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2938) 
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688) 
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544) 
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281) 
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229) 
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:218) 
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:158) 
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:109) 
at org.hibernate.engine.query.HQLQueryPlan. <init>(HQLQueryPlan.java:75) 
at org.hibernate.engine.query.HQLQueryPlan. <init>(HQLQueryPlan.java:54) 
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71) 
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133) 
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112) 
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1583) 
at cn.com.Dao.TestDao.Selectsth(TestDao.java:61) 
at cn.com.Dao.TestDao.main(TestDao.java:75) 

解决方案 »

  1.   

    有没有问题要看你类里面具体属性了,想测试的话 项目上面点击右键,Myeclipse-HQLEditor 就可以测试你HQL语句HQL语句的话是不会报空指针错误得,看看其他地方有没有问题吧
      

  2.   

    where 改成on ,或者把 inner join 换成逗号 试一下还报错吗?
      

  3.   

    如果TestDao.java:61就是这句hql语句的话就可以采取以下操作,如果不是,显示出这行代码
    要使用联结的话就把where改为On,否则就把两者作为不相关的表,只是筛选出其中字段数据相同的交集数据的话就使用逗号隔开两个表,后面使用where,也就是:
    from cn.com.FormBean.UserTable as ut inner join cn.com.FormBean.SexTable as st on ut.User_Sex_Id = st.Sex_Id 
    或者
    from cn.com.FormBean.UserTable as ut,cn.com.FormBean.SexTable as st where ut.User_Sex_Id = st.Sex_Id 
      

  4.   

    java.lang.NullPointerException 
    使用了未初始化变量~~~- -