jap 复合查询

转载 2016年08月28日 22:53:17
     @Override
public Page<Document> searchSendDocument(Long sendUserId, Long sendGroupId,String title,
String content, Date stDate, Date spDate, int pageNum,
int numPerPage) {

final String titl1F = title;
final String contentF = content;
final Date stDateF = stDate;
final Date spDateF = spDate;
final Long sendUserIdF = sendUserId;
final Long sendGroupIdF = sendGroupId;
Sort sort = new Sort(Direction.DESC, "id");
Pageable pageRequest = new PageRequest(pageNum - 1, numPerPage, sort);

Specification<Document> spec = new Specification<Document>() {
@Override
public Predicate toPredicate(Root<Document> root,
CriteriaQuery<?> query, CriteriaBuilder cb) {

List<Predicate> predicate = new ArrayList<>();
if (titl1F != null && titl1F.trim().length() > 0) {
predicate.add(cb.like(root.get("title").as(String.class),
"%" + titl1F.trim() + "%"));
}
if (contentF != null && contentF.trim().length() > 0) {
predicate.add(cb.like(root.get("message").as(String.class),
"%" + contentF.trim() + "%"));
}
if (sendUserIdF != SearchEnum.SEARCH_ALL.getId()) {
predicate.add(cb.equal(root.get("userId").as(Long.class),
sendUserIdF));
}
predicate.add(cb.equal(root.get("isState").as(Integer.class),
DocumentEnum.VIEW.getCode()));
predicate.add(cb.equal(root.get("groupId").as(Long.class),
sendGroupIdF));

predicate.add(cb.between(root.get("sendDate").as(Date.class),
stDateF, spDateF));
Predicate[] pre = new Predicate[predicate.size()];
return query.where(predicate.toArray(pre)).getRestriction();
}
};

return documentDao.findAll(spec, pageRequest);
}

相关文章推荐

窗体多条件复合查询

  • 2005-12-02 10:36
  • 30KB
  • 下载

Oracle 通过复合索引提高查询性能的一个真实客户例子

这是一个真实的应用,客户报了一个EBS的performance bug, 在Invoice form里,选择了一个客户后,再打开账单地址(location)的LOV,花了20分钟出来了3条地址数据. ...
  • chisky
  • chisky
  • 2012-04-19 11:14
  • 1990

Spring Boot JPA 复合主键只查询部分主键

Spring Data JPA给了我们很强大的功能,我们只需要通过编写一个继承自JpaRepository的接口就能完成数据访问。最近使用过程中,碰到一个问题: 数据库的表中有多个主键,我们和数据...

DB2数据库查询过程(Query Processing)----复合索引的匹配索引扫描(Matching Index Scans with Composite Indexs)

在《DB2数据库查询过程(Query Processing)----简单索引访问(Simple Indexed Access)》一文中已经对索引访问的各种形式作了详细介绍,本文重点讨论匹配索引扫描...
  • idber
  • idber
  • 2012-11-17 12:58
  • 3628

复合嵌套查询实例

/*SELECT contact.* t2.t1.history.* FROM contact INNER JOIN (SELECT room_contact.cont...

SqliteOpenHelper实现复合查询

数据库在android是经常会使用到的东西, 但毕竟是在移动端的东西,都是一些比较轻量级的操作,无非就是增删该查,现在也有很多数据库的框架可以使用,能够很方便的简化对数据库的操作。最近在项目用到数据库...

JAP 注解详解

JPA的注解要嘛全部都在get上 要么全都是属性上 不能混用 JPA注解 1.@Entity(name="") 必须,name为可选,对应数据库中一的个表 ...

Elasticsearch java API (21)查询 DSL 复合查询

复合查询编辑 复合查询包裹其他化合物或叶查询,要么把他们的结果和成绩,改变他们的行为,或者从查询过滤上下文切换。 这组查询: constant_score 查询查询这...

Java操作Hbase增删改查(附带复合条件查询以及分页查询)

最近项目中用到了Hbase,所以看了下Java操作Hbase的有关API,并根据项目中的需求写了下增删改查。闲话少说,先贴源码: package com.infobird.test1; import...

注意使用 BTREE 复合索引各字段的 ASC/DESC 以优化 order by 查询效率

tbl_direct_pos_201506 表有 190 万数据,DDL:CREATE TABLE `tbl_direct_pos_201506` ( `acq_ins_code` char(13...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)