String sql = "from ClientInfo as a where a.client_name like '%"+ clientname+"%'");
Query repeatClientQuery=querysession.createQuery(sql);
但是却不能查询中文,假如clientname是客户1名字的话,那么将查不到结构,解决办法:
1.用占位符:
Query query = session
.createQuery("select count(*) from Privilege p where p.name like ?");
query.setString(0, "%" + name + "%");// 注意这里不能写成setString(0," '%" + name + "%' ";否则查不出来结果,不能加‘单引号
2.修改查询编译器:
Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件中,hibernate.query.factory_class属性用来选择查询翻译器。
(1)选择Hibernate3.0的查询翻译器:
hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory
(2)选择Hibernate2.1的查询翻译器
hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory
为了使用3.0的批量更新和删除功能,只能选择(1)否则不能解释批量更新的语句,当使用的时候出现了不支持条件输入中文的情况。选择(2)可以支持输入中文,但没法解释批量更新语句了。
分享到:
相关推荐
Hibernate连表查询 Hibernate连表查询
Hibernate注解用法总结
hibernate多表联合查询实例,很经典的查询语句和总结.
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
Hibernate 多表连接分页查询示范项目 Hibernate Criteria 多表连接 分页
hibernate里面的 两种查询 离线查询 和 HQL语句查询
Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码
这是用Struts+Hibernate实现的分页及查询
hibernate基本用法演示---源码; 配套博客教程:参见我的文章---Hibernate-Usage(basis)(hibernate基本用法)
hibernate实现动态SQL查询,通过XML配置SQL,FREEMARKER 解析,生成要执行的SQL
使用hibernate封装方法,显现使用一个dao,service,impl来关联两个表的操作,实现,增删改查基本操作
Hibernate的查询方式Hibernate的查询方式
Hibernate_QBC查询
Hibernate分页查询小结
Hibernate多对多关联添加及查询示例
hibernate基本配置及使用方法,高手免看.
收录了QBC_hibernate完整用法.大家可以下载看看.作为参考.
Hibernate_query查询数据表中的一个字段.
Hibernate 函数 ,子查询 和原生SQL查询。Hibernate 函数 ,子查询 和原生SQL查询
实际开发中碰到一个使用hibernate递归查询的问题。我解决了发出来给大家一起分享