利用spring实现数据查询问题

Struts+spring+hibernate组合开发时,遇到一个查询用户信息的问题:

jsp页中有3个可选项:用户名、用户类型、email,查询时,可以选择填写一项、或两项、或3项都填写,
我根据查询时的选项判断,来组合成HQL查询语句,这时共有8中组合情况。

在DAO中,通过继承HibernateDaoSupport,使用HibernateTemplate来进行数据查询。这时发现一个问题,参数在HQL语句中用?来代替,参数数目不一定。在HibernateTemplate的所有几个find方法中,只有 List find(String queryString, Object[] values)好象可以用。

仔细看了一下这个函数的用法,发现达不到我的要求。因为这里的values是个数组,而我的HQL查询语句中,参数个数不一定,所以这个方法不能用。又看了看其他的几个find(),觉得都无法满足我的要求,
由于对spring不是很了解,请高手指点一下,HQL查询语句中参数个数不一定时,在HibernateTemplate中有没有现成的函数可以用(不想自己写了,却发现原来早有现成的函数可用)。

可以使用Query来实现.