在hibernate 中,语句SELECT COUNT(q.qid) From  Quetion  As q where q.qid IN (SELECT a.qid FROM Answer As a where a.userid=?)在运行中出现:org.hibernate.QueryException: could not resolve property: qid of: org.lxh.myzntgt.vo.Answer [select count(q.qid) from org.lxh.myzntgt.vo.Question As q where q.qid in(select a.qid from org.lxh.myzntgt.vo.Answer As a where a.userid=?)]
at org.hibernate.persister.entity.AbstractPropertyMapping.throwPropertyException(AbstractPropertyMapping.java:43)
at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:37)
at org.hibernate.persister.entity.BasicEntityPersister.toType(BasicEntityPersister.java:1094)
at org.hibernate.hql.ast.FromElementType.getPropertyType(FromElementType.java:273)
at org.hibernate.hql.ast.FromElement.getPropertyType(FromElement.java:349) 
它意意思 的我qid 出现问,但我这里有一句:
"from Question As q where q.qid IN(select a.qid From Answer As a where a.userid=?)" 能够正常运行,得到结果.上一句,在mysql 中可以求出记录数.
不知为什么,映射方面应该没有问题.

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【doren】截止到2008-06-27 13:20:36的历史汇总数据(不包括此帖):
    发帖数:7                  发帖分:70                 
    结贴数:0                  结贴分:0                  
    未结数:7                  未结分:70                 
    结贴率:0.00  %            结分率:0.00  %            
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html