【Spring-data-jpa】利用@query组合查询

简介: 【Spring-data-jpa】利用@query组合查询

一、起因:orgId

  经理要求我们在所有的查询语句中(除了根据id查询)都加上限制字段orgId。

二、是什么?


orgId:法人Id。

  代表研究院的id或公司的Id;

三、为什么?


大集中模式:几个公司(研究院)同时使用一个数据管理平台管理公司(研究院)的事务。

此时,毫无关系的A公司和B公司的数据需要各自保密:A不能看B的数据,B不能看A的数据。 因此,用orgId 区分各个公司(研究院)。

  在查询时,用orgId限制查询,可以根据当前登录用户的orgId获取该用户所在公司的数据,并且不影响其他正在使用此平台的公司的数据。


四、如何用?

  需要在原有查询的基础上添加限制字段。

  以前的查询语句:

/**
   * 根据管理员类型查询所有所有数据
   * @param managerType
   * @return List<AssetDeptManagerConfig>
   */
  @Query(value = "select a from AssetDeptManagerConfig a where a.managerType = ?1")
  public List<AssetDeptManagerConfig> findAllByManagerType(String managerType);


添加限制字段:orgId:

/**
   * 根据管理员类型查询所有所有数据
   * @param managerType
   * @return List<AssetDeptManagerConfig>
   */
  @Query(value = "select a from AssetDeptManagerConfig a where  a.orgId = ?1 and a.managerType = ?2")
  public List<AssetDeptManagerConfig> findAllByManagerType(String orgId,String managerType);


此时,问号后的“1”和“2”要和传入参数的顺序对应,才能实现。

五、补充链接:

spring data jpa 利用@Query进行查询











相关文章
|
缓存 Java Go
解决Spring Data JPA查询存在缓存问题及解决方案
解决Spring Data JPA查询存在缓存问题及解决方案
641 0
|
4月前
|
Java 关系型数据库 API
使用Spring Boot和PostgreSQL构建高级查询
使用Spring Boot和PostgreSQL构建高级查询
|
4月前
|
Java 微服务 Spring
微服务04---服务远程调用,根据订单id查询订单功能,根据id查询订单的同时,把订单所属的用户信息一起返回,Spring提供了一个工具RestTemplate,Bean写在对象前面,以后可以在任何地
微服务04---服务远程调用,根据订单id查询订单功能,根据id查询订单的同时,把订单所属的用户信息一起返回,Spring提供了一个工具RestTemplate,Bean写在对象前面,以后可以在任何地
|
6月前
|
前端开发 Java Spring
Java 新手如何使用Spring MVC 中的查询字符串和查询参数
Java 新手如何使用Spring MVC 中的查询字符串和查询参数
|
6月前
|
SQL Java Spring
Spring Data JPA之JpaSpecificationExecutor复杂动态查询实例
Spring Data JPA之JpaSpecificationExecutor复杂动态查询实例
76 0
|
6月前
|
SQL Java 数据库
Spring Data JPA 查询方法那些事
Spring Data 提供了几个接口供继承使用,如 JpaRepository,另外还规定了方法查询中的关键字,即你命名的查询方法需要符合规范。
327 0
|
Java 数据库 Spring
spring boot 查询到的数据返回null
spring boot 查询到的数据返回null
364 0
|
SQL 安全 Java
Spring Boot 学习研究笔记(十七) -Spring boot JPA的复杂查询
Spring Boot 学习研究笔记(十七) -Spring boot JPA的复杂查询
277 0
|
JSON Java 数据格式
Spring Boot 学习研究笔记(十六) -Spring Data JPA 实现多表关联查询
Spring Boot 学习研究笔记(十六) -Spring Data JPA 实现多表关联查询
182 0
|
Java Spring
Spring Boot 学习研究笔记(十四) SpringBoot Jpa 分页查询
Spring Boot 学习研究笔记(十四) SpringBoot Jpa 分页查询
235 0