基类public class Topic {
public int id;
protected String title;
setter/getter 方法}
继承类
public class TopicDisp extends Topic {
public int id;
private int reCount;
private String lastid;setter/getter 方法}
两个类的map片段
<class name="Topic" table="topic">
<id name="id" column="ID" type="java.lang.Integer" >
<generator class="native"/></id>
<property name="title" column="title" type="string" /> </class><class name="TopicDisp" table="topicdisp">
<id name="id" column="id" type="java.lang.Integer" ><generator class="native"/> </id>
<property name="reCount" column="reCount" type="java.lang.Integer" />
<property name="lastTalk" column="lastTalk" type="string" /></class>我在TopicDispDAO中执行String hqlstr = "select count(*) from Topic as t where t.forumid=" + id;查询,一直报错
org.hibernate.QueryException: could not resolve property: forumid of: pku.bbs.hibernate.beans.TopicDisp [select count(*) from pku.bbs.hibernate.beans.TopicDisp as t where t.forumid=1]
at org.hibernate.persister.entity.AbstractPropertyMapping.throwPropertyException(AbstractPropertyMapping.java:43)
不知道是不是映射的不对

解决方案 »

  1.   

    select count(*) ==> select count(t.id) 
      

  2.   

    "select count(*) from Topic as t where t.forumid='" + id + "'"
      

  3.   

    晕  你没定义forumid这个属性
      

  4.   

    forumid 貌似是这个属性的问题
    看看在你的配置文件里配置的对吗 注意大小写?
      

  5.   


    是呀,forumid这个是从哪里来的,是不是数据库的列,你的实体类里也没有这个属性,如果映射对的,呢就是sql的问题,你再看下呗!!
      

  6.   

    could not resolve property: forumid of
      

  7.   

    基类有定义forumid,前面是简写的基类,因为怀疑是映射的不对
      

  8.   


    String hqlstr = "select count(*) from Topic as t where t.id=" + id;试试看
      

  9.   

    或者改成这样试试<class name="TopicDisp" table="topicdisp">
    <id name="forumid" column="id" type="java.lang.Integer" ><generator class="native"/> </id>基类里面定义的forumid 也需要有setter/getter 方法
      

  10.   

    可能是帖子说的不明白,因为基类topic里还有很多属性没写,上文只是简写,因为都是在继承类topicdisp的dao文件里有很多查询基类topic的属性的hql,都报出同样的出错,could not resolve property: