在cat类中加入pat和sat的sett()方法.要查询pat和sat的属性,如查询pat的属性可以通过cat的对象.getPat().getXXX()查询.

解决方案 »

  1.   

    List cats = sess.createCriteria(Cat.class).add( Restrictions.like("name", "Fritz%") )
    类似于这样就行
    加上限制!详细请参考http://www.blogjava.net/lifenote/archive/2008/03/12/185708.html
      

  2.   

    用"."的形式就可以访问其属性,如下Criteria crit = sess.createCriteria(Cat.class); 
    crit.add(Restrictions.like("pat.name",name));//name 为传递过来的参数
    crit.setMaxResults(50);
    List cats = crit.list();
      

  3.   

    我上回试了下,好像不行哦我明天再去试一下
    Restrictions是什么类
      

  4.   

    摘自hibernate中文参考手册
    第 15 章  条件查询(Criteria Queries)
    15.4. 关联
    你可以使用createCriteria()非常容易的在互相关联的实体间建立 约束。 List cats = sess.createCriteria(Cat.class)
        .add( Restrictions.like("name", "F%") )
        .createCriteria("kittens")
            .add( Restrictions.like("name", "F%") )
        .list();
    注意第二个 createCriteria()返回一个新的 Criteria实例,该实例引用kittens 集合中的元素。 接下来,替换形态在某些情况下也是很有用的。 List cats = sess.createCriteria(Cat.class)
        .createAlias("kittens", "kt")
        .createAlias("mate", "mt")
        .add( Restrictions.eqProperty("kt.name", "mt.name") )
        .list();
    (createAlias()并不创建一个新的 Criteria实例。) Cat实例所保存的之前两次查询所返回的kittens集合是 没有被条件预过滤的。如果你希望只获得符合条件的kittens, 你必须使用ResultTransformer。 List cats = sess.createCriteria(Cat.class)
        .createCriteria("kittens", "kt")
            .add( Restrictions.eq("name", "F%") )
        .setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)
        .list();
    Iterator iter = cats.iterator();
    while ( iter.hasNext() ) {
        Map map = (Map) iter.next();
        Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);
        Cat kitten = (Cat) map.get("kt");
    }