spring hibernate3.0複数条件クエリーの解決方法


以前のいくつかのソリューションでは、マルチ条件クエリーについてSQL文を使用していましたが、hibernate 3.0中国語を入力すると、文字化けしてしまうので、別の方法で解決するしかありません.私はみんながステーションマークを使うと言っているのを見て、しかしとても詳しい説明がなくて、ステーションマークを採用して、どのように多条件差のクエリーを実現します;以下は、ドキュメントを見て書いたテスト方法です.
useridクエリーに基づいて:
     public List searchSysusers(Sysuser sysuser){
    	SessionFactory sessionFactory=getHibernateTemplate().getSessionFactory();
    	Session sess=sessionFactory.openSession();
    	List list=sess.createCriteria(Sysuser.class)
          .add(Restrictions.eq("userid", "test1")).list();
    	sess.close();
    	return list;
    }
    

useridとdepartmentに基づいてクエリーを行います.
 
   public List searchSysusers(Sysuser sysuser){
    	SessionFactory sessionFactory=getHibernateTemplate().getSessionFactory();
    	Session sess=sessionFactory.openSession();
    	List list=sess.createCriteria(Sysuser.class)
          .add(Restrictions.eq("userid", "test1"))
          .add(Restrictions.like("department","%   %")).list();
    	sess.close();
    	return list;
    }

結果を正確に照会することができますが、1つ以上の照会条件を入力すると、どのように実現すればいいか分かりません.私が入力したクエリー条件の個数は不確定だからです.もちろん、私が検索する条件の個数が多くなければ、以下を判断すればいいのですが、条件が多ければ、判断では明らかにだめです.
この問題をどう解決すればいいか教えてください.