当在使用自己拼装的HQL语句时,如果里面包括中文的话,输出到控制台则是乱码。应该采用参数绑定的机制来查询。
spring 封装了对hibernate 底层操作,现列了一些查询方法:
1,findByNamedParam
code:
public
List getRolesByName(String roleName)
{
return getHibernateTemplate().findByNamedParam("from Role role where role.name=:roleName", "roleName",roleName);
}
return getHibernateTemplate().findByNamedParam("from Role role where role.name=:roleName", "roleName",roleName);
}
2,findByNamedQueryAndNamedParam
code:
getHibernateTemplate().findByNamedQueryAndNamedParam(
"
testeCQuery
"
,
"
idCidade
"
, cidade);
<
query
name
="testeCQuery"
>
<![CDATA[
from br.com.ag2.casarural.vo.Cidade as cidade where cidade.idCidade = :idCidade
]]> </ query >
from br.com.ag2.casarural.vo.Cidade as cidade where cidade.idCidade = :idCidade
]]> </ query >