int isTestedNum = session
.createQuery(
"select c.testid from TdTestInfo as c where c.state<2 and c.assPersonuser =:person")
.setEntity("person", assp).list().size();
if (isTestedNum == 0) {
assp.setStatus(new Integer(2));
session.flush();
}
and c.assPersonuser =:person")是什么意思呀,有什么用呀

解决方案 »

  1.   

    :person 是一个参数(对象/实体),相当于一个 ? 后面不是写了个setEntity("person", assp)
      

  2.   

    这hql的语法,可以用参数名的方式指定参数。
    也就是setEntity("person", assp)用到的person
      

  3.   

    这个person就是setEntity("person", assp)用到的person
      

  4.   

    相当于sql参数的?
    这里hql用一个单词代替?,这样当?很多了时,可以正对具体的参数进行设置它的值,
    如 .setEntity("person", assp)
      

  5.   

    也可以写索引,个人觉得criteria查询好点