find(vo)没有,但可以这样Query.setProperties(Object bean),详细地用法可以看api

解决方案 »

  1.   

    Query query = session.createQuery(
                    "from Cat cat where cat.id like :id and cat.colour like :colour");
    Cat cat = new Cat();
    cat.setId("XX%");
    cat.setColour("XX%");
    query.setProperties(cat);
    List l=query.list();
      

  2.   

    这还不是要写HQL吗,我觉得根据HIBERNATE的思想,应该可以直接根据VO进行查询,这和根据VO进行增删改是一个道理啊
      

  3.   

    目前没有这样的功能。
    不过你可以很容易地把上面那段代码封装一下,写成一个find(Object)的方法嘛。
      

  4.   

    Hibernate 2.1 beta 3 (DONE)
    New Example queries
    List similarCats = session.createCriteria(Cat.class)
        .add( Example.create(cat) )
        .list();select-before-update attribute to allow cascade update() to interact better with triggers
    property-ref attribute for <many-to-one>
    new, lightweight HashtableCacheProvider
    added Session.get(), a variation of load() which returns null instead of throwing ObjectNotFoundException但是有一点要注意id字段是不能通过这个得到的 还有一些boolean 如果没赋值它会默认为false
      

  5.   

    我觉得这种做法写死到hibernate里面并没有很大的实际意义,比如如果有一个字段没有赋值(null),您是希望不在条件中指定该字段,还是希望指定该字段为 IS NULL呢?对于一个String型的字段,您是希望模糊匹配(like),还是希望精确查询(=)呢?可能不同的应用有不同的需求吧!如果有必要的话,完全可以根据自己的需要构建一个基础类实现这个功能呀。
      

  6.   

    to Jass(Jass):Criteria,Example有这样的功能
      

  7.   

    同意miwoo(miwoo) 
    因为基本类型的如int等都是默认值的 这时是无法通过是否null来判断
    所以针对这个 写自己的bean要注意
    有很多需要自己去看看文档 基本上都能实现sql的功能