hql模糊查询与去重

hql语句

String hql = "from Song  where name like ‘%"+text+"%‘ or singer like ‘%"+text+"%‘ or alumn like ‘%"+text+"%‘  ";

去重。重写pojo类的equals 和hascode。

@Override
public int hashCode() {
// TODO Auto-generated method stub
return 1;
}

@Override
public boolean equals(Object obj) {
if (obj instanceof Song) {
Song song = (Song) obj;
if (this.id.equals(song.getId())) {
return true;
}
}
return false;
}

我的主键是id。我只需要结果中的id不同就可以。如需其他条件的可以自己修改。

然后把list集合转到Hashset里面去重即可。

时间: 2024-10-10 00:06:55

hql模糊查询与去重的相关文章

Oracle数据库,模糊查询、去重查询

分组去重查询,并执行某一个函数 :select  分组字段,聚合函数 from 表名 where 条件 group by分组字段 select  分组字段,聚合函数 from 表名 where 条件 group by分组字段 having过滤条件 例:select cno, avg(degree) from score group by cno having count(sno)>=5: 模糊查询  : like select * from 表名 where 字段 like   '字符串%'  

hql语句的模糊查询

代码如下: public List<Teacher> findTeacher(String str) { String hql="from Teacher where 1=1"; hql+=" and tname like '%"+str+"%'"+" or tcode like '%"+str+"%'"; Query query=getSession().createQuery(hql); L

sqlserver_query3_去重查询|模糊查询|排序|分组|使用函数

时间:2017-09-29 整理:byzqy 本篇仍以"梁山好汉"数据表为例,介绍几个常用的 T-SQL 查询语句: 去重查询,关键字:distinct 使用通配符模糊查询,关键字:like,通配符:% 排序查询(升序.降序),关键字:order by.desc 分组查询,关键字:group by 使用函数,关键字:max.avg 规定要返回的记录的数目,关键字:top 文件:SQLQuery3.sql /* 说明: SQLQuery3.sql (这是在SQL Server Manag

SQL Server之 (二) SQL语句 模糊查询 空值处理 聚合函数

(二) SQL语句  模糊查询  空值处理  聚合函数 自己学习笔记,转载请注明出处,谢谢!---酸菜 SQL :结构化查询语言(Structured Query Language),关系数据库管理系统的标准语言. Sybase与Mircosoft对标准SQL做了扩展:T-SQL (Transact-SQL); 注:①SQL对大小写的敏感取决于排序规则,一般不敏感; ②SQL对单引号的转义,用两个单引号来表示一个单引号; ③SQL执行顺序: 1→2→3→4 select  * ---------

0831 数据库建立,增删改查,各种函数类型,类型转换,模糊查询,排序

create database lian0831gouse lian0831gocreate table stu(code int not null,cid varchar(20) not null,name varchar(10), banji varchar(10),sex varchar(10),age int not null,yufen decimal(18,2),shufen decimal(18,2),yingfen decimal(18,2),)insert into stu v

hibernate学习系列-----(4)hibernate基本查询上篇:HQL基本查询

紧接着上一篇,今天继续hibernate的学习总结,来聊一聊hibernate的基本查询方法,先说说HQL(hibernate Query Language):它是官方推荐的查询语言.在开始写代码之前,看看需要做哪些准备工作吧,首先,在我们的学生类中新增一个属性"clazz",其实不加也可以,接着,我们需要重写Student.java类中的toString()方法,代码如下: /** * 重写toString方法 */ @Override public String toString(

Hibernate使用createSqlQuery进行模糊查询时找不到数据

1. 首先明确一点,使用createSqlQuery如下两种方式的占位符都可以使用,这个在官方的文档可以查到. 注意使用模糊查询时,赋值两边不可以添加单引号. Query query = sess.createSQLQuery("SELECT * FROM CATS WHERE NAME like ?").addEntity(Cat.class); List pusList = query.setString(0, "Pus%").list(); query = s

T-SQL简单查询语句(模糊查询)

1 T-SQL简单查询语句 2 3 简单查询: 4 5 1.最简单查询(查所有数据) 6 select * from 表名: 注:* 代表所有列 7 select * from info 8 9 2.查询指定列 10 select code,name from info 11 12 3.修改结果集的列名 13 select code as '代号',name as '姓名' from info 14 15 4.条件查询 16 select * from info where code='p003

hibernate模糊查询-Restrictions.ilike &amp; Expression.like

Criteria criteria = session.createCriteria(TaDiagnoseSystem.class);   //增加查询条件   if(StringUtils.isNotEmpty(systemName)){//    criteria.createCriteria("taDiagnoseSystemSubs").add(Restrictions.ilike("systemName", systemName, MatchMode.AN