根据id查询,这个不是更好?Cat cat = new DomesticCat();
// load pk's state into cat
sess.load( cat, new Long(pkId) );
Set kittens = cat.getKittens();

解决方案 »

  1.   

    楼上说的也不行啊!!
    试过了,也显示cannot execute query
    我直接用String queryStr="from ExamineeInfo as examineeInfo where examineeInfo.cardid='00001'";
    查询就没有问题。
    但是用
    String queryStr="from ExamineeInfo as examineeInfo where examineeInfo.cardid=:cardID";
    query.setString("cardID",cardID);//cardID是一个表示证件号的参数
    就不行了,好像是cardID的值传不到查询语句里。
    为什么呢?
      

  2.   

    public Query setParameter(String name,
                              Object val)
                       throws HibernateException
      

  3.   

    用setParameter(("cardID",cardID)
      

  4.   

    上次也是“id”的问题,我没有解决。
    作后的理解是: hibernate 中 "id" 有它自己的用处,
    它用来做类的区分,涉及很多hibernate功能.我后来是把类自己的 "id" 换了个名字,免得跟 hibernate 冲突
    也可以自己用类的 "id" 作为 hibernate "id" 的产生条件,这样比较合理
    但类的 "id" 也必须唯一,因为 hibernate "id" 需要设为“主键”