请问HQL的模糊查询怎么写?谢谢。

lovepower1982 2005-03-17 03:35:04
比如说查表A里面name字段中含有"abc"的HQL语句,谢谢。
...全文
2403 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mudsong 2005-03-21
  • 打赏
  • 举报
回复
不需要用HQL,用Criteria可以解决绝大部份问题,而且更方便

以下引用Hibernate2参考文档(Chapter 14. 条件查询(Criteria Query))

List cats = sess.createCriteria(Cat.class)
.add( Expression.like("name", "Fritz%") )  
.add( Expression.between("weight", minWeight, maxWeight) )
.list();
bluerocly 2005-03-21
  • 打赏
  • 举报
回复


String selectHql = "select count(u) from UserInfo(A表) as u,GULink(B表) as g where u.userName like :";
StringBuffer buffer = new StringBuffer();
buffer.append(selectHql);
buffer.append("%"+userName+"%");
buffer.append(" and g.groupId =: ");
buffer.append(groupSelId);
Query query = session.createQuery(buffer.toString());
query.setString("userName", abc);
query.setString("groupSelId",123);
dakuntk 2005-03-19
  • 打赏
  • 举报
回复
什么报错信息?
UserInfo和GULink是类明吗?
这个buffer.append("%"+userName+"%");是不是以应该这样buffer.append("'%"+userName+"%'");

lovepower1982 2005-03-19
  • 打赏
  • 举报
回复
在下有这样一个hql语句,但是会报错:
String selectHql = "select count(u) from UserInfo(A表) as u,GULink(B表) as g where u.userName like ";
StringBuffer buffer = new StringBuffer();
buffer.append(selectHql);
buffer.append("%"+userName+"%");
buffer.append(" and g.groupId = ");
buffer.append(groupSelId);
请高手看看问题在哪好吗?谢谢。
lovepower1982 2005-03-18
  • 打赏
  • 举报
回复
那如果我直接写hql语句呢?
比如:
String selName = "%"+Name+"%";//需要进行模糊查询
String selectHQL = "select a from ABC as a where a.Name like ";
StringBuffer buffer = new StringBuffer();
buffer.append(selectHQL);
buffer.append(selName);
return resultList;

这样是不是也可以呢?
bluerocly 2005-03-18
  • 打赏
  • 举报
回复
public Iterator getName(String abc)throws HibernateException
{
String queryString = "select a from A as a where a.name like :name" ;
beginTransaction();
Query query = session.createQuery(queryString);
query.setString("name", "%"+abc+"%");
Iterator it= query.iterate();
return it;
}
jspxnet 2005-03-18
  • 打赏
  • 举报
回复
from A as a where a.name like %abc%

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧