hibernate createQuery用HQL转型问题

部分代码
[code="java"]
public PageModel findAllMactivity(final int pageNo,final int pageSize,final String queryStr) {

    PageModel pageModel = null;
    List mList = new ArrayList();
    try {
        if (queryStr != null && queryStr.trim().length() != 0) {
            mList = this.getHibernateTemplate().executeFind(new HibernateCallback() {

                public Object doInHibernate(Session session)
                        throws HibernateException, SQLException {


                    return session.createQuery("from Mactivity a where a.activityid like ? or a.mName like ? order by a.activityid")
                                    .setParameter(0, queryStr + "%")
                                    .setParameter(1, queryStr + "%")
                                    .setFirstResult((pageNo - 1) * pageSize)
                                    .setMaxResults(pageSize)

                                    .list();
                }
            });
        }else

[/code]

错误提示:
[code="java"]
java.lang.String cannot be cast to java.lang.Long

[/code]
activityid 在类文件里设置的Long类型。这块我应该怎么处理?

activityid是Long类型就不要用like,参数加了"%"肯定报错。