`

Spring jpa的in查询

阅读更多
import javax.persistence.criteria.CriteriaBuilder.In;


Specification<Order> spec = new Specification<Order>() {

    @Override
    public Predicate toPredicate(Root<Order> root,CriteriaQuery<?> query,     CriteriaBuilder cb) {
List<Predicate> list = new ArrayList<Predicate>();
//方式1,使用In
In<String> in = cb.in(root.get("approvalStatus").as(String.class));
Iterator<String> iterator = ((List<String>)parameters.get("approvalStatus")).iterator();
while (iterator.hasNext()) {
in.value(iterator.next());
}
list.add(in);

//方式2
Expression<String> exp = root.get("approvalStatus").as(String.class);       
list.add(exp.in((List<String>)parameters.get("approvalStatus")));

    Predicate[] p = new Predicate[list.size()];
    query.where(cb.and(list.toArray(p)));
    return query.getRestriction();
   }

}

分享到:
评论

相关推荐

    springBoot+springjpa.docx

    ### Spring Boot + Spring JPA 入门教程 #### 一、Spring Boot 快速入门 Spring Boot 是一种简化 Spring 应用程序开发的新框架。它旨在简化基于 Spring 的应用程序的初始设置和配置过程。 ##### 1. 创建 Maven ...

    Spring和openJPA集成

    通过注解或XML配置,开发者可以定义实体类,OpenJPA 将自动处理SQL查询、持久化、事务等细节。 集成 Spring 和 OpenJPA 的步骤大致如下: 1. **引入依赖**:在项目中添加 Spring 和 OpenJPA 相关的库,通常通过 ...

    spring data jpa 连接mysql8.x的一些问题梳理总结.docx

    Spring Data JPA 连接 MySQL 8.x 遇到的问题总结 Spring Data JPA 是一个基于 Java 的持久层框架,它提供了简洁的数据访问方式,支持多种数据库,包括 MySQL。然而,在使用 Spring Data JPA 连接 MySQL 8.x 时,...

    Spring data JPA笔记资料

    Spring Data JPA 是一个强大的框架,它简化了与Java持久层的交互,允许开发者以声明式的方式处理数据库操作。这个框架是Spring生态的一部分,专门用于简化JPA(Java Persistence API)的使用。下面将详细解释Spring ...

    SpringData的JPA查询jpa-spec.zip

    jpa-spec 在Spring Data JPA之上做扩展,支持原生JPA2规范,极大的简化动态查询语法。特性兼容JPA2规范Equal/NotEqual/Like/In 支持多个参数, Equal/NotEqual 支持Null 值.构建器风格创建查询条件支持分页与构建器...

    SpringDataJpa 动态复杂查询NativeQuery

    SpringDataJpa 动态复杂查询NativeQuery emm挺长时间没更新了,最近在忙项目,外加搬家,后续会继续更新 遇到一个复杂的sql查询,在不通过外键关联的情况下,只能选择使用原生sql的方式查询,但是遇到一个极其XX的...

    spring_in_action-sixth-edition.pdf

    Spring Data JPA 提供了多种 JPA 数据访问解决方案,例如使用 JPA 注解、使用 Spring Data JPA 等。 16. Spring Data MongoDB Spring Data MongoDB 是指使用 Spring 框架的 MongoDB 数据访问层,帮助开发者快速...

    spring.jpa.data Specification使用

    `Specification`是Spring Data JPA提供的一种强大工具,用于构建动态、复杂的查询条件,尤其适用于处理复杂的业务场景中的查询需求。在这里,我们深入探讨`Specification`的使用及其在实际开发中的价值。 首先,`...

    Spring in Action 中文版 pdf

    5. **数据访问**:Spring提供了对多种数据存储技术的支持,如JDBC、ORM框架(Hibernate、JPA)。书中会讲解如何集成这些技术,以及使用Spring的声明式事务管理。 6. **Web开发**:Spring MVC是Spring框架的一部分,...

    Spring Roo In Action

    综上所述,本书《Spring Roo In Action》应该是一本详尽的指南,旨在教育开发者如何使用Spring Roo这一强大的工具来构建现代化的Java Spring应用程序。从数据库操作、实体管理到Web开发、项目集成,书中可能涵盖了...

    Spring in action中文版(第4版)

    4. 数据访问(Data Access):Spring通过整合各种数据访问技术,如JDBC、JPA、Hibernate等,简化了数据持久化操作,使开发者能够更加专注于业务逻辑的实现。 5. 测试驱动开发(Test Driven Development,TDD):...

    Spring-JPA-Filter-for-RSQL:用于RSQ​​L的Spring JPA过滤器

    Spring-RPA的JPA过滤器 用于RSQ​​L的Spring JPA过滤器 该库将RSQL转换为Spring Data JPA规范 RSQL支持的运算符: 逻辑运算符 描述 例子 != 不等于 ?filter = name!= Yonit == 等于 ?filter = name == ...

    Spring Boot in Action.pdf 英文版

    书中会讲述如何配置数据源,使用JPA或Hibernate进行对象关系映射,以及如何执行数据库查询。 7. **Actuator**:Spring Boot Actuator提供了丰富的监控和健康检查端点,帮助开发者了解应用的运行状态。书中会介绍...

    解决SpringDataJPA报错:org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null w

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/...

    spring roo in action

    《Spring Roo in Action》是一本专注于Spring Roo框架的编程实践书籍。Spring Roo是一个用于快速开发Java应用程序的框架,它结合了Spring生态系统的强大功能,尤其是对Spring MVC、Spring Security、Spring Tiles、...

    Spring in Action 源码

    源码将演示如何使用Spring Data JPA创建Repository接口,实现CRUD操作,以及进行复杂查询。 5. **Spring Security**:Spring Security是Spring生态中的安全框架,提供了身份验证和授权功能。源码中将展示如何配置...

    Spring Data JPA基本使用及部分原理(核心概念)

    总结,Spring Data JPA简化了Java应用中的数据访问层实现,通过自动化的Repository Bean创建、事务管理以及灵活的查询方式,让开发者能更专注于业务逻辑。理解并掌握这些核心概念,有助于提高开发效率并避免常见的...

    spring-data-JPA学习笔记

    在"spring-data-JPA学习笔记"中,我们主要关注的是如何使用JPA进行CRUD操作以及一些常用的查询方法。 首先,Spring Data JPA 提供了一种基于方法名的自动查询映射机制。例如,`findByUsernameAndPassword(String ...

    Spring Microservices in Action.

    5. **数据访问与持久化**:了解如何在微服务环境中使用数据库,如分库分表策略,以及使用Spring Data JPA简化数据访问。 6. **服务注册与发现**:学习如何利用Eureka实现服务注册和发现,确保服务之间的动态路由和...

Global site tag (gtag.js) - Google Analytics