数据库模糊查询

利用hql对数据库进行模糊查询 如下
from StaticUser s where s.loginname like :loginname||'%'
在查询时 值是在所传的值后边加"%" 如何将所传值前后都加上"%" 例如 查询的字段为 “天津” 结果 名字为“天津市”或“天津...”的被查询出来 但“XXX天津”不会被查询 我该怎么改啊

from StaticUser s where s.loginname like '%'||:loginname||'%'

String hql = "from StaticUser s where s.loginname like" + loginname+"%" ;

%加在前面

String hql = "from StaticUser s where s.loginname like " + loginname+"%" ;
like后面还有个空格

用子串查找匹配试试,我hql不熟,但相信有类似语法。即子串在原串中的位置为起始位置。
用substr(s.loginname, :loginname) == 0试试