一个类别表,和信息表,页面想显示信息的列表,同时把信息的类别名称显示出来,因为存在信息表里的是类别的ID号,但是在写语句的时候老是报错。
hql = "select id,topic,adddate,body,typename From news,newstype where news.typeid = newstype.typeid"
这条语句在数据库中直接执行没有问题,但是程序里面就报错
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.IdentNode
+-[IDENT] IdentNode: 'id' {originalText=id}
hql = "select id,topic,adddate,body,typename From news,newstype where news.typeid = newstype.typeid"
这条语句在数据库中直接执行没有问题,但是程序里面就报错
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.IdentNode
+-[IDENT] IdentNode: 'id' {originalText=id}
From news,newstype
hql = "select id,topic,adddate,body From news"
我现在估摸着有 几种可能:1: 配置文件的属性配置不完全 或者某个属性的名字错了2: 缺乏对应的getter setter 而配置文件配置了这些信息
其他原因一下看不出来
建议这两种可能都没解决的话 贴下代码 和配置文件内容
看看你的这句sql
第一个id是什么意思 ?
where后面的 news.typeid = newstype.typeid
你表的id有很多意思的 ?
改成这样问题解决
谢谢大家的回复