public class BaseHibernateDAO {
public List search(Class cl,Object condition)
{
List list=null;
   try{
    list=this.getSession().createCriteria(cl).add(Example.create(condition)).list();
   }
   catch(Exception e)
   {
   e.printStackTrace();
   }finally
   {
   this.closeSession();
   }
   return list;
}
               其它方法省略
}public static void main(String[] args) {
Account condition=new Account();
        condition.setBalance(100);
BaseHibernateDAO bd=new BaseHibernateDAO();
List list=(List)bd.search(Account.class, condition);
for(int i=0;i<list.size();i++)
{
Account a=(Account)list.get(i);
System.out.println(a.getId());
}
}
上面代码没有错,如果要查询balance>100的要怎么改呢?

解决方案 »

  1.   

     list=this.getSession().createCriteria(cl).add(Example.create(condition)).list(); 
    中的Example.create(condition)是什么意思啊
    不是这样吗?:Criteria c=getSession().createCriteria(Table.class);
    条件:
    c.add(Restrictions.gt("balance",conditon.balance()));
    里面的条件:gt 就是大于的意思。
      

  2.   

    我就是不知道Example.create(condition)是什么意思啊,别的书上看到这么写的
    如果这样写
    Criteria c=getSession().createCriteria(Table.class); 
    c.add(Restrictions.gt("balance",conditon.balance())); 
    这个方法public List search(Class cl,Object condition) 
    就没意义了啊
      

  3.   

    我都正遇上这问题,,,求解Example.create(condition)是什么意思