Session session = this.getSession();
Criteria criteria = session.createCriteria(ClazzRoleUser.class);
criteria.add(Restrictions.eq("clazz.clazzID", clazzId));
criteria.add(Restrictions.eq("user.userID", userId));解释下是啥意思?

解决方案 »

  1.   

    FROM ClazzRoleUser cru WHERE (clazz.clazzID = clazzId) and (user.userID = userId)不知是不是
      

  2.   

    Session session = this.getSession(); //相当于得到JDBC中的链接
    Criteria criteria = session.createCriteria(ClazzRoleUser.class);  //相当于得到Statement, 但是这里
    对所操作的对象做的限制, 只能是ClazzRoleUser(对应的表)criteria.add(Restrictions.eq("clazz.clazzID", clazzId)); //相当于查询条件加入一个表中的clazzID = clazzId 
    criteria.add(Restrictions.eq("user.userID", userId));  //同理
      

  3.   

    selecct * from ClazzRoleUser where clazzID=clazzID and userID=userID  不明白吗?大哥
      

  4.   

    ok,但是现在有个问题!
    clazz属性是ClazzRoleUser 里面的一个类引用.
    我查的时候需要clazz.clazzID去查Clazz表中的ID.但是我现在不想去Clazz表里查!
    只想在自己表里查!怎么办?
    不知道说清楚没有,感觉不大好表达
      

  5.   

    Criteria对象只能对一张表的对象查询,无法应用另外个对象去查询其他表........这是hibernate的规范,不是能随意改变的..........如果需要使用对象中的子对象去操作其他表,只能使用HQL语句...........
      

  6.   

    补充:Criteria对象典型的使用了合成模式..........这个是个楼主的一点题目外的只是补充...