原本我的写法:Query repeatClientQuery=querysession.createQuery("from ClientInfo as a " +"where a.client_name like :name" ); repeatClientQuery.setParameter("name",clientname); 查询无结果. 经编程浪子指点:
LIKE 'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。 LIKE '%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。 LIKE '%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。 LIKE '_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。 LIKE '[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。 LIKE '[M-Z]inger' 将搜索以字符串 inger 结尾、以从M到Z的任何单个字母开头的所有名称如 。 LIKE 'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如 MacFeather)。
你直接写 String sql = "from ClientInfo as a where a.client_name like '%"+ clientname+"%'"); Query repeatClientQuery=querysession.createQuery(sql); 成功. 
|